Главная

Assembler


MS-DOS Hello World

mov ah, 02h ;; ( B4 02 ) команда вывода символа из регистра на экран
mov dl, 'H' ;; ( B2 48 ) поместить в регистр букву "H"
int 0x21 ;; ( CD 21 ) вызов прерывания № 21
mov ax, 0x4c00 ;; ( B8 00 4C ) ah == 0x4c (завершить программу -- EXIT) , al == 0x00 (код выхода 0 )
int 0x21 ;; ( CD 21 ) вызов прерывания № 21


mov dx, hello ;; ( BA 0C 01 ) добавляем в регистр DX адрес строки hello(0C) зачем 01 я так и не понял.
mov ah, 9 ;; ( B4 09 ) команда Выдать строку на дисплей
int 0x21 ;; ( CD 21 ) вызов прерывания № 21
mov ax, 0x4c00 ;; ( B8 00 4C ) ah == 0x4c (завершить программу -- EXIT) , al == 0x00 (код выхода 0 )
int 0x21 ;; ( CD 21 ) вызов прерывания № 21
hello db 'Hello$' ;; ( 48 65 6C 6C 6F 24 ) выводимая строка