3. Поле комментария
Поле комментария начинается с точки с запятой и полностью игнорируется ассемблирующей программой, поэтому в нем можно помещать любой текст.
В комментарии акцентируется не общая функция команды, которая определяется мнемоникой, а действия команды в данной программе. Не следует сокращать объем комментария в ущерб его смыслу.
5.2. Директивы ассемблера
Директивы ассемблера — это указания ассемблирующей программе о выполнении определенных действий в процессе ассемблирования. Они не являются командами и не переводятся в машинный код. Операторы директив необязательны.
1. Директива ORG. Директива ORG (организовать) имеет следующий формат:
Метка |
Код |
Операнд |
Комментарий |
[необязательная метка:] |
ORG |
<выражение> |
Значением выражения директивы ORG является допустимый 16-битный адрес, определяющий ячейку памяти, куда будет загружаться первый байт следующей команды или байт данных.
Если в начале программы директива ORG отсутствует, то по умолчанию подразумевается директива ORG с нулевым адресом (таким образом, в примере курсового проекта директива ORG необязательна).
При необходимости в программе может быть несколько директив ORG. До новой директивы ORG команды и данные размещаются в смежных ячейках памяти.
2. Директива END. Формат директивы END (конец):
Метка |
Код |
Операнд |
Комментарий |
[необязательная метка:] |
END |
<выражение> |
Эта директива информирует ассемблирующую программу о достижении конца программы. В каждой программе может быть только одна директива END, находящаяся в последней строке.
3. Директива EGU. Директива EGU (приравнять, присвоить) имеет формат:
Метка |
Код |
Операнд |
Комментарий |
<имя> |
EQU |
<выражение> |
При выполнении директивы EQU ассемблирующая программа присваивает значение выражения символическому наименованию, находящемуся в поле метки. Когда наименование встречается в поле операнда, ассемблирующая программа подставляет вместо него присвоенное значение.
Символическое наименование может появиться в поле метки только одной директивы EQU. При программировании следует сгруппировать все директивы EQU в начале или конце программы.
4. Директива SET. Директива SET (установка) имеет такой же формат и выполняет такое же действие, как и директива EGU. Однако в отличие от директивы EGU, значения символического наименования допускается изменять с помощью новой директивы SET.
5. Директивы IF и ENDIF. Директивы условного ассемблирования IF (если) и ENDIF (конец если) применяются следующим образом:
Метка |
Код |
Операнд |
Комментарий |
[необязательная метка:] |
IF |
<выражение> |
|
… |
… |
… |
… |
Команды |
|||
… |
… |
… |
… |
[необязательная метка:] |
ENDIF |
В процессе ассемблирования вычисляется значение выражения из поля операнда директивы IF. Если оно равно нулю, операторы между директивами IF и ENDIF игнорируются и не включаются в программу в машинных кодах. Когда же значение выражения отличается от нуля, команды программы ассемблируются так, будто директив IF и ENDIF нет.
Директивы условного ассемблирования удобны, когда программа состоит из большого числа сегментов и при ассемблировании нужно исключить некоторые сегменты из программы. Каждый сегмент обрамляется директивами IF и ENDIF. Для исключения сегмента значение операнда соответствующей директивы IF приравнивается нулю, например с помощью директивы EQU.
6. Директива DB. Директива DB (определить байт) относится к группе директив определения, которые применяются для инициализации данных и резервирования памяти. Формат директивы DB имеет следующий вид:
Метка |
Код |
Операнд |
Комментарий |
[необязательная метка:] |
DB |
<список> |
Операнд директивы DB может быть последовательностью выражений, разделенных запятыми и имеющих 8-битные значения, либо цепочкой символов, заключенных в апострофы. При выполнении директивы DB значения выражений или коды символов запоминаются в смежных ячейках (байтах) памяти, начинающихся после ячейки предыдущей команды. Примеры применения директивы DB:
Метка |
Код |
Операнд |
Комментарий |
ARRAY: |
DB |
3,7,15,31 |
;Запоминаются четыре значения |
… |
… |
… |
… |
DB |
‘HELLO’ |
;Запоминаются пять символов |
|
… |
… |
… |
… |
COMPL: |
DB |
-63 |
;Дополнительный код -63 |
7. Директива DW. Директива DW (определить слово — 2 байта) также относится к директивам определения и имеет такой же формат, как и директива DB. Однако здесь списком является последовательность выражений, имеющих 16-битные значения. При выполнении директивы DW вычисляется значение первого выражения и его младшие 8 бит запоминаются по текущему адресу, а старшие 8 бит запоминаются по адресу на единицу больше предыдущего. Затем вычисляется значение второго выражения, процедура запоминания повторяется для следующих ячеек памяти и т. д. Примеры с директивой DW:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.