Вы здесь: HomeHello world

Hello world

Hello word на ассемблере пишется довольно просто для этого нам нужно объявить строку , затем подговорить регистры для прерывания и выполнить прерывание DOS. Давайте рассмотрим два примера "Hello word". Первый пример выполним на TASM ассемблере а во втором будем использовать FASM ассемблер. 

Пример TASM:

.MODEL SMALL
CODE SEGMENT
ASSUME CS:CODE
START:
mov ax,cs
mov ds,ax
mov ah,9
lea dx,hello
int 21h
mov ax,4c00h
int 21h
hello db "hello world!$";
CODE ENDS
END START

FASM (также этот пример подойдет и для NASM ассемблера):

org 100h
mov ah,9
mov dx,msg
int 21h
mov ax,4c00h
int 21h
msg db "Hello world!$"

 

Также покажу вам пример как это сделать с помощью отладчика в Windows XP или Windows 7 а также на других ОС где есть программа DEBUG.COM

Если к примеру у Вас ХР то в командной строке просто введите debug и далее. у вас появиться примерно такое окно как на рисунке ниже:

hello world на ассемблере 

 

C помощью  команды А (assemble) вводим код, Кстати обратите внимание что мы в DX указываем относительный адрес строки которую будем выводить. Затем вводим строку в нашу переменную(вернее в ее адрес), указав команде E адрес переменной и данные который нужно будет заполнить по указанному адресу, один символ один байт  и соответственно одна ячейка памяти, все данные  это ASCII коды символов. Когда мы ввели строку проверяем с помощью команды D (DUMP) веденную данные, просмотрев память, и видим что мы ввели в правом столбце. Далее мы указываем имя программы с помощью команды N, потом вносим в регистр CX размер программы который нужно сохранить, хочу заметить что отладчик работает с шестнадцатеричными данными и все что Вы ввели он подразумевает что это шестнадцатеричное число. Затем сохраняем нашу программ командой W. Выйдя из отладчика командой Q можно запустить нашу программу и посмотреть на ее результат.