Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Звіт
Про виконання лабораторної роботи № 6
з дисципліни «Операційні системи та системне програмування»
Тема: вивід даних на екран за допомогою переривань
Львів 2009
Завдання
Скласти програму на мові Assembler, яка б виводила на екран стрічку "Hello world!"
Алгоритм виконання завдання
Вивидення повідомлення за допомогою 9 функції 21h переривання. Для цього в регістр dx поміщають зміщення в сегменті повідомлення Message та викликають відповідне переривання. Після виведення програма очікує натискання клавіші та завершує свою роботу.
Текст програми
CSEG segment {оголошуємо, що починається сегмент}
org 100h
Begin: {мітка початку програми}
mov ax,cs {загружаємо в регістр ax адресу сегменту коду}
mov ds,ax {загружаємо в регістр даних адресу з регістра ax, тим самим суміщаючи}
{регістр коду та даних}
mov ah, 9 {поміщаємо в ah номер функції, яку будемо викликати}
mov dx, offset Message {заносимо в dx змішення повідомлення Message в сегменті}
int 21h {викликаємо переривання 21h}
mov ah,10h {поміщаємо в ah номер 10 функції (очікувати натискання клавіші)}
int 16h {викликаємо переривання 16h}
int 20h {викликаємо переривання 20h, яке завершить виконання програми}
Message db 'Hello, world!$' {Повідомлення для виводу}
CSEG ends {кінець сегменту}
end Begin {кінець програми}
Протокол роботи