Visual masm,dosbox - Assembler
Формулировка задачи:
Написать программу "Hello,world!" на Visual masm,dosbox.
Решение задачи: «Visual masm,dosbox»
textual
Листинг программы
.MODEL Tiny .CODE ORG 100h Start: mov ah,9 mov dx,offset String int 21h ; выводим xor ah,ah int 16h ; ждём клавишу int 20h ; выходим String db 'Hello, world!$' END Start
Объяснение кода листинга программы
- Объявлен сегментный модель
Tiny. - В начале кода, после
.CODE, установлена точка входа в программу —Start. - Переменная
ahиспользуется как счётчик для цикла, аdx— как регистр-индекс для обращения к строке. - Команда
mov ah,9задаёт параметр функцииint 21h— вывод строки. - Команда
mov dx,offset Stringзадаёт адрес начала строки в регистреdx, чтобы функцияint 21hмогла вывести строку. - Команда
int 21hвыводит строку на экран. - Переменная
ahобнуляется, чтобы при следующей итерации цикла значение функцииint 16hможно было интерпретировать как символ. - Команда
int 16hиспользуется для чтения символа из стандартного ввода (клавиатуры). - Команда
int 20hзавершает работу программы. - В конце кода объявлена строка
String db 'Hello, world!$', которая будет выводиться на экран.