Овладение различными способами адресации данных – основа успешного написания программ не только на первых этапах освоения языка, но и в дальнейшей своей профессиональной деятельности. Именно неправильным использованием способов адресации данных вызвана немалая доля ошибок в программах, в том числе ошибок трудно находимых и самых опасных – зависящих от наборов данных, т.е., возможно, не сразу проявляющих себя.
Литература
См. список литературы к лабораторной работе № 1.
Приложения
Приложение 1. Примеры программ с выводом текстовой строки.
Используется функция 09h прерывания 21h. Значение функции загружается в регистр AH, адрес строки – в DS:DX. Т.к. сегментный регистр DS обычно уже инициализирован, достаточно загрузить смещение строки в DX. Строка должна обязательно заканчиваться символом «$». Для форматирования строк применяйте символы CR (Carriage Return – ВК «возврат каретки») и LF (Line Feed – ПС «перевод строки»), имеющие коды, соответственно, 13 (0Dh) и 10 (0Ah).
name type_1
.model small
.data
cong db 'Happy New Year!$'
.code
start:
mov ax,@data
mov ds,ax
mov dx,offset cong
mov ah,09h
int 21h
mov ah,4Ch
mov al,00h
int 21h
end start
name type_2
.model small
.data
alp_e db 0Dh,0Ah,'abcdefghijklmnopqrstuvwxyz$'
alp_r db 0Dh,0Ah,'абвгдеёжзийклмнопрстуфхцчшщъыьэюя$'
.code
start:
mov ax,@data
mov ds,ax
mov dx,offset alp_e
mov ah,09h
int 21h
mov dx,offset alp_r
mov ah,09h
int 21h
mov ah,4Ch
mov al,00h
int 21h
end start