Скачиваний:
16
Добавлен:
11.04.2015
Размер:
16.68 Кб
Скачать
  1. Операции prt, low, seg, offset.

Операции, возвращающие значения. Эти операции предоставляют информацию о переменных или метках программы:

операции seg и offset возвращают адрес сегмента и смещение переменной или метки.

Пример: mov ах, seg table ;загружает в ах адрес сегмента данных,

;где находится table

mov bx, offset table ; загружает в bx смещение переменной

;table

Операции присваивания атрибутов Операция ptr позволяет изменить у операнда атрибут типа (byte или word) или атрибут дистанции (near или far). Этой операцией можно воспользоваться для доступа к байтам в таблице слов или к словам в переменной, описанной как двойное слово. Пусть таблица определена следующим образом : table dw 100 dup( ? )

Тогда оператор first equ byte ptr table ; присвоит младшему байту таблицы table имя first. Можно присвоить имя любому другому байту: first_s equ first + 4

Операция ptr может изменить атрибут дистанции метки. Например, если программа содержит оператор start : mov сх, 100 , то метка start имеет атрибут near, что позволяет ссылаться на неё команде jmp, находящейся в том же сегменте. Чтобы на эту же метку могли ссылаться команды jmp, находящиеся в других сегментах, надо дать этой метке альтернативное имя, на которое можно будет ссылаться: new_start equ far ptr start

Операция замены сегмента (ds:, es:, ss:, или cs: ) позволяет изменить атрибут сегмента метки, сегмента или адресного выражения. Так, при работе с видеопамятью начальный адрес этой памяти должен быть помещён в дополнительный сегмент и работа с этой памятью будет иметь вид : mov ах, 0b800h ; загрузка начального адреса видеопамяти

mov es, ах ; пересылка адреса памяти в регистр es

mov si, 200 : загрузка смещения 200 в регистр si

mov es:[si], 2; загрузка по 200 смещению кода " рожица"

Операции low возвращают младший байты 16 - битового выражения. В примере: const equ Oabcdh оператор mov ah, high const; загрузит в регистр ah значение cdh.

Соседние файлы в папке Ответы по пунктам