Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования на Ассемблере. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
607 Кб
Скачать

mes_len = $-mes

В этом примере константа mes_len получает значение длины строки mes (в данном случае 5 байт), которая вычисляется как разность значения счетчика текущего адреса после определения строки и ее начального адреса mes. Такой способ удобен тем, что при изменении содержимого строки достаточно перетранслировать программу, и та же константа mes_len автоматически получит новое значение.

ПРИМЕРЫ РЕЗЕРВИРОВАНИЯ ПАМЯТИ

count

dw 1000

//помещает значение 1000 по адресу count

coef dw 5,10,68 //указанными числами заполняются три слова

mask

db 0FFh //в байт с именем mask записывается FF

mes db ‘смещение’

//байтовая строка с текстом «смещение» начиная с адреса mes adr dw mes

//В слове adr смещение строки первого байта строки mes addr dd myproc

//в двойном слове помещается двухместный адрес процедуры В первом слове – относительный адрес Во втором – сегментный.

20

area dw 128 dup (?) //резервируем 128 слов памяти text db 100 dup (‘#’)

//100 байт массива заполняется кодом решетки array dw 1024 dup(256)

//массив из 1024 слов, в каждом слове 256

kilo equ 1024

//kilo – константа, которой присваивается значение 1024 навсегда. offs = 80-2*12+40*2

//начальное значение offs определено выражением, но в тексте программы ее можно менять

leng = 0FFFFh

//leng – название числа FFFF

mes db ‘ждите’ // позволяет ссылаться на текущую ячейку meslen = $ – mes // meslen = длина строки mes

Использование байта в словных операциях (оператор PTR)

Bits dw F5E9h

mov ax, bits //помещает в аккумулятор число F5E9 mov bh, byte ptr bits

//пересылает в старший байт регистра ВХ младший байт (Е9) переменной

mov cl, byte ptr bits + 1

//пересылка старшего байта (F5) в cl addr dd myproc

// в двойное слово помещается двухсловный адрес процедуры

mov bx, word ptr addr

//относительный адрес myproc

mov

es, word ptr addr + 2 //сегментный адрес

5. СИСТЕМА КОМАНД, РЕЖИМЫ АДРЕСАЦИИ

Существует множество вариантов доступа к операндам (режимов адресации). Операнды могут содержаться в регистрах, в самих коман-

дах, в памяти или в портах ввода-вывода. Рассмотрим семь групп режимов адресации:

регистровая адресация;

непосредственная адресация;

21

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]