Example.asm

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: