Assume CS:code, DS:data, SS:stk
; Простая программа на ассемблере
data segment para public "data"; Сегмент данных
data8 db 7,0dh,0ah,'Привет!',0dh,0ah,'$';Код
;консольного писка + сообщение
Data16 dw 65535
Data ends
stk segment para stack "stack"; Сегмент стека
Db 256 dup (?); Буфер для стека
Stk ends
code segment para public "code"; Сегмент кода
Start:
Mov ax,data; Адрес сегмента данных в регистр AX
Mov ds,ax; Запись AX в DS
Mov ax,0; Обнуление аккумулятора AX
Inc ax; Увеличение AX на 1
mov bx,ax; Пересылка <AX> в BX
Mov ch,data8; Пересылка переменной data8 в CH
Mov bp,data16; Пересылка переменной data16 в BP
Dec word ptr data16
Call mes
Mov ax,4C00h; Функция завершения программы
Int 21h; Функция Dos
Mes proc near; Процедуры вывода сообщения на экран
Lea dx,data8; Загрузка смещения data8 в DX
Mov ah,9; Функция вывода строки на экран
Int 21h; Функция DOS
Ret
Mes endp
Code ends