Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАВЦ.464319.001ТУ 20140414 Семенов.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.98 Mб
Скачать

4.3 Директивы (псевдооператоры)

Директивы в отличие от команд выполняются только в процессе ассемблирова­ния (трансляции) программы, а не в процессе решения задачи на компьютере. То есть команды — это инструкции машине, а директивы — это инструкции ассем­блеру (транслятору).

Формат директивы:

[Идентификатор] КПОП [Операнд] [.Операнд]... [Комментарий]

Как и в случае команд, поле директивы может начинаться в любом месте строки про­граммы при условии, что оно отделено от предыдущего поля хотя бы одним пробелом. Идентификатор — имя директивы (для обращения к ней). КПОП (Код ПсевдоОПератора) — мнемокод директивы (состоит из 2-7 букв).

Операнды — их в директиве может быть много; это уже не только адреса, но и раз­личные процедуры. В операндах могут быть записаны простые выражения, исполь­зующие модификаторы (операции).

4.4 Модификаторы

В операторах и псевдооператорах языка ассемблер иногда используются модифи­каторы, которые определяют ту или иную операцию, учитываемую при трансляции программы. Существует 5 видов модификаторов: арифметические, логичес­кие, отношений, возвращения значений и присваивания атрибутов. Наиболее час­то используются модификаторы (mdf):

  • Арифметические модификаторы: + — сложить, — вычесть, * — умножить, / - разделить, mod — остаток от деления и т. д. Формат: opr mdf орг.

  • Логические модификаторы: and — «и», or — «или», not — «не» и хог - исключа­ющее «или». Формат: opr mdf орг.

  • Модификаторы отношения: eq — совпадения, nq — несовпадения, lt — меньше, gt — больше, lе — меньше или равно, ge — больше или равно. Формат: opr mdf орг.

  • Модификаторы, возвращающие значения:

  • $ — возвращает значение смещения адреса текущего оператора;

  • seg — возвращает адрес сегмента адреса метки или переменной;

  • offset — возвращает смещение адреса метки или переменной;

  • length — возвращает длину операнда в единицах определения (байтах или словах);

  • type — возвращает атрибут типа переменной (1, если byte; 2 — word, 3 — dword) или метки (1 — near, 3 — far);

• size — возвращает произведение length*type. Формат: mdf opr.

- Модификаторы присваивания атрибута:

  • ptr — изменяет атрибут типа (byte, word или dword) операнда или атрибут ди­станции (near или far) адресного операнда. Формат: тип ptr opr. (здесь: тип - новый атрибут, opr — идентификатор операнда, чей атрибут должен быть изменен);

  • ds:, es:, cs:, ss: — изменяет атрибут сегмента адреса. Формат: rsegm : адрес. (адрес может быть задан именем сегмента, переменной, меткой или адрес­ным выражением);

  • short — дополняет атрибут near метки оператора перехода, указывает, что переход осуществляется на расстояние не более ±128 байт от текущей ко­манды. Формат: short метка;

  • high—возвращает старший байт 16-битового значения орг. Формат: high opr;

• low — возвращает младший байт 16-битового значения орг. Формат: low opr. В программах используются:

- атрибуты дистанции:

  • near — близкий, в пределах одного сегмента;

  • far — далекий, за пределами одного сегмента;

- атрибуты типа данных:

  • byte — длиной 1 байт;

  • word — длиной 2 байт;

  • dword — длиной 4 байт.