Вывод строки заканчивается неудачей - Assembler
Формулировка задачи:
Листинг программы
- .model tiny
- .code
- org 100h
- main:
- mov dx, offset string
- mov ah, 09h
- int 21h
- int 20h
- string db 'lol kek chebureck$'
- end main
Решение задачи: «Вывод строки заканчивается неудачей»
textual
Листинг программы
- .MODEL SMALL
- .STACK 100h
- .DATA
- HelloMessage DB 'lol kek chebureck$',13,10,'$'
- .CODE
- START:
- mov ax,@data
- mov ds,ax
- mov ah,9
- mov dx,OFFSET HelloMessage
- int 21h
- mov ah,4ch
- int 21h
- END START
Объяснение кода листинга программы
- Установка модели памяти на малую (SMALL).
- Установка стека на 100 байт.
- Объявление строки «HelloMessage» в сегменте данных (D) с начальным адресом в 1000000h (1000 байт).
- Код программы начинается с метки «START».
- Перемещение регистровой пары ax в сегмент данных (D) с помощью команды mov ax,@data.
- Перемещение сегмента данных (D) в регистровую пару ds с помощью команды mov ds,ax.
- Установка регистра ah на 9 для выполнения функции вывода в консоль с помощью команды mov ah,9.
- Перемещение смещения строки «HelloMessage» в регистровую пару dx с помощью команды mov dx,OFFSET HelloMessage.
- Выполнение функции вывода в консоль с помощью команды int 21h.
- Установка регистра ah на 4ch для завершения работы программы с помощью команды mov ah,4ch.
- Выполнение функции окончания работы программы с помощью команды int 21h.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д