Для компилирования исходного кода на языке ассемблер, наиболее подходящим компилятором является MASM 6.11.
В папку с исходным кодом необходимо копировать MASM. EXE, ML. EXE и LINK.EXE. MASM. EXE — необходим для ассемблирования исходного файла, в результате чего, создается объектный файл (например 1. obj). А TASM. EXE служит для линковки объектного файла, т. е. преобразование его в исполнительный файл (например, 1.com).
В этой же папке создаем bat-файл. Для этого создаем обычный текстовой файл, и меняем его расширение с txt на bat. Открываем полученный файл в блокноте и прописываем код:
masm.exe 1.asm.
tlink.exe 1.obj.
1. exe.
pause.
Пояснение к коду:
MASM.EXE 1. asm — создает объектный файл из исходного кода, который находится в файле 1.asm.
LINK.EXE 1. obj — создает исполнительный файл 1.com из объектного файла (в нашем случае 1. obj).
1. exe — запуск полученной программы в командной строке.
Pause — пауза (чтобы сразу не выскакивало из программы, если в ней нет ожидания нажатия клавиши).
Пояснение исходного кода отладкой приложения программой AFDPRO
цветной графический режим приложение.
Рисунок 1: Начало программы.
Рисунок 2: Mov AX, 0000 — занеслось в регистр AX, номер ф-ии (9) 21-ого прерывания. Она выполняет вывод строки на экран.
Рисунок 3: Push AX — заносит в регистр AX, адрес строчки «Press string» в сегменте даты.
Рисунок 5: MOV DS, — занести в AH, ф-ию 21-ого прерывания. Она выполняет ввод текста с клавиатуры.
Рисунок 6: Вводимый текст помещается в буфере, который находится по адресу указанному в регистре DX.
Рисунок 7: Здесь выполняется 21 прерывание, и мы вводим строку «Ab}».
Рисунок 8: Mov AH, 3C — занеслось в регистр AX, 21-ого прерывания. Она выполняет вывод строки на экран.M.
Рисунок 9: ov CX, 0000 — занеслось в регистр CX, 21-ого прерывания. Она выполняет вывод строки на экран.
Рисунок 10: INT 21h — вызвать 21-ое прерывание, ф-ия которой находится в регистре AH и адрес строки для этой ф-ии находится в регистре DX.
Рисунок 12: Mov DX, 0009 — занеслось в регистр DX, 21-ого прерывания. Она выполняет вывод строки на экран.
Рисунок 13: Обнуляем регистр CX.
Рисунок 14: Int 21 прерывание.
Рисунок 15: В регистр SI заносим адрес первой буквы строки.
Рисунок 16: Устанавливаем направление обработки строки (DF = 0).
Рисунок 17: Проверяем, все ли циклы уже прошли.
Рисунок 18: Конец программы.
Ввод программы в ЭВМ.
G:ЭВМ1>tasm.exe 1.asm.
Turbo Assembler Version 3.2i Copyright © 1988, 1992 Borland International.
Serial No: Tester:
Assembling file: 1.asm.
Error messages: None.
Warning messages: None.
Passes: 1.
Remaining memory: 421k.
G:ЭВМ1>tlink.exe 1.obj.
Turbo Link Version 3.01 Copyright © 1987, 1990 Borland International.
Warning: No stack.
G:ЭВМ1>1.exe.
G:ЭВМ1>pause.
Для продолжения нажмите любую клавишу.. .