Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №2 (Ассемблер).doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
4.42 Mб
Скачать

Заключение

Овладение различными способами адресации данных – основа успешного написания программ не только на первых этапах освоения языка, но и в дальнейшей своей профессиональной деятельности. Именно неправильным использованием способов адресации данных вызвана немалая доля ошибок в программах, в том числе ошибок трудно находимых и самых опасных – зависящих от наборов данных, т.е., возможно, не сразу проявляющих себя.

Литература

См. список литературы к лабораторной работе № 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