Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
arkhitektura.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.89 Mб
Скачать

37. Команды и директивы. Директивы описания данных.

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

Допустимыми символами при написании текста программ являются:1) все латинские буквы: А – Z, а – z. При этом заглавные и строчные буквы считаются эквивалентными;2) цифры от 0 до 9;

3) знаки ?, @, S, _, &;4) разделители.

Предложения ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора.

Практически каждое предложение содержит описание объекта, над которым или при помощи которого выполняется некоторое действие. Эти объекты называются операндами. Их можно определить так: операнды – это объекты (некоторые значения, регистры или ячейки памяти), на которые действуют инструкции или директивы, либо это объекты, которые определяют или уточняют действие инструкций или директив.

Операнды могут комбинироваться с арифметическими, логическими, побитовыми и атрибутивными операторами для расчета некоторого значения или определения ячейки памяти, на которую будет воздействовать данная команда или директива.

Ассемблер имеет ряд операторов, которые позволяют управлять процессом ассемблирования и формирования листинга. Эти операторы называются псевдокомандами или директивами. Они действуют только в процессе ассемблирования программы и не генерируют машинных кодов.

Директивы определения данных

Общий формат директив определения данных:

[Имя] Dx Выражение

где Имя - необязательный параметр, определяющий ссылку на определяемые данные;

Dx - одна из директив определения: DB (байт), DW (слово), DD (двойное слово), DQ (учетверенное слово), DT (десять байт);

Выражение - определяемые данные. При этом можно использовать:

- числовые константы в различных системах счисления. Последняя буква константы определяет систему счисления, в которой она записана: B, Q(O), D, H для систем счисления, использующих в качестве основания соответственно 2, 8, 10 и 16:

- строковые константы в одиночных или двойных кавычках;

- знак вопроса ?, указывающий на неопределенное значение;

  • Директивы повторения константы DUP в формате:

Число_повторений DUP (Константа).

Пример: Определение различных данных:

Var2 DW 10 DUP(?); определение переменной Var2 как массива из 10 слов

MAS DB 20 DUP(2); определение переменной MAS как массива из 20 байт, значения всех элементов массива равно 2.

Var3 DD “Var3” ; определение строкового данного, имеющего значение “Var3”

1 DUP(‘s’); определение массива символов, состоящего из 1 элемента, имеющего значение ‘s’

Stroka db 13,10,"Это текст- ","$"; определение переменной Stroka (строковое данное)

  • Директива EQU определяет значение, которое может использоваться для подстановки в других командах и директивах, т.е. она определяет имя, которое будет ассоциироваться в программе с заданным значением:

Пример: Ten EQU 10

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