ВУЗ:
Составители:
2.7 Основные директивы ассемблера и макрокоманды ОС RT-11
Ассемблер MACRO-11, используемый для машинно-ориентированного про-
граммирования на ЭВМ PDP-11, выполняет построчное сканирование текста ас-
семблер-программы, анализирует этот текст и генерирует объектный код ма-
шинной программы. Каждая строка исходного модуля содержит один оператор
языка ассемблера. Общий формат оператора имеет вид:
<метка>
:
<мнемокод оператора> <операнды>
;
<комментарий>
Не все поля обязательны. Разделители ‘
:
’ и ‘
;
’ обязательно должны присут-
ствовать там, где нужно завершить поле метки (‘
:
’) или начать комментарий (‘
;
’).
Операнды разделяются запятой. В качестве операндов могут быть числовые,
символьные и строковые константы, имена и выражения. По умолчанию число-
вые константы представлены в восьмеричном виде. Символьные константы на-
чинается с кавычки (например: ‘A, ‘3). Ассемблер транслирует такую константу в
один байт со значением в соответствии с кодировкой символов ЭВМ (ASCII,
КОИ-7). Строковые константы могут фигурировать только в директивах разме-
щения строк текста, которые будут описаны ниже. Имя может содержать цифры,
прописные латинские буквы и символ ‘
¤
’. Если значение имени должно быть
доступно из других исходных модулей (когда испольуется компоновка одного за-
грузочного модуля из нескольких объектных), то такое имя должно быть объ яв-
лено как глобальное. У глобальных имен значащими считаются 6 первых симво-
лов, т.е. такие имена должны быть уникальными по первым шести символам.
RS0[3..1] - номер РАС, при обращении по которому возникло прерывание;
Метка записывается в начале оператора как имя с описанным выше синтак-
сисом. Кроме имени метка имеет значение. Во время трансляции ассемблер по-
стоянно строит план размещения команд и данных в памяти. Для этого исполь-
зуется так называемый счетчик размещения (LC - location counter). По мере про-
движения по программе этот счетчик постоянно увеличивается на длину команд
и данных, представленных в операторах исходного модуля. Например, при
трансляции оператора с однословной командой ветвления счетчик размещения
до начала команды содержит адрес, по которому транслируется команда (ме-
стоположение в памяти на момент ее выполнения, если загрузочный модуль
компонуется только на основе этого исходного модуля). Во время трансляции
этого оператора счетчик размещения увеличивается на 2 и после трансляции
указывает местоположение следующей команды. В выражениях ассемблера
значение счетчика размещения представляется символом ‘
.
’, причем это значе-
ние счетчика на момент начала трансляции оператора, содержащего выражение
с “точкой”. Например:
A: MOV #., R0 ; загрузка адреса данной команды в RO.
Оператор исходного текста может задавать либо машинную команду, либо
директиву ассемблера. Список и форматы основных директив языка ассемблера
MACRO-11 приводится ниже:
. =
<выражение> ; установить счетчик размещения в новое значение
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »