Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ассемблер.docx
Скачиваний:
4
Добавлен:
16.07.2022
Размер:
1.88 Mб
Скачать
    1. Директива equ (equal, приравнять, присвоить)

Директива имеет следующий формат.

Метка

Код

Операнд

Комментарий

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

< имя>

EQU

<выражение>

[; формат директивы]

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

Если символическое имя встречается в поле операнда одной или нескольких команд программы, то компилятор подставляет вместо него во все команды значение вычисленного выражения.

Пример.

Метка

Код

Операнд

Комментарий

;Пример использования директивы EQU

NIMBL0:

EQU

0Fh

; маска старшей

; тетрады BCD–кода

* * *

ANI

NIMBL0

; младшую тетраду

; выделить

При содержательных именах повышается читабельность программы.

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

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

Этот недостаток не характерен для директивы SET (установить).

    1. Директива set (установить).

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

Пример.

Метка

Код

Операнд

Комментарий

;Пример использования директивы SET

MY_NAME:

SET

0FB01h

; MY_NAME=0FB01h

LXI

H, MY_NAME

; HL=0FB01h

* * *

MY_NAME:

SET

0Fh

; MY_NAME=0Fh

MVI

B,MY_NAME

; B=0Fh

* * *

    1. Директива db (определить байт, define)

Директива DB имеет следующий формат.

Метка

Код

Операнд

Комментарий

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

[ метка:]

DB

<список>

[; формат директивы]

Операнды директивы DB а) последовательность выражений, разделённых запятыми; б) цепочки символов, заключённых в апострофы.

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

Пример 1

Метка

Код

Операнд

Комментарий

;Пример использования директивы DB

ORG

0FC00h

MASSIV:

DB

0Fh, B0h, BCh

; массив MASSIV

; с адреса 0FC00h

* * *

LXI

H, MASSIV+2

; HL=0FC02h

* * *

MOV

B, M

; B=0Fh

Пример 2

* * *

Метка

Код

Операнд

Комментарий

;Пример использования директивы DB

ORG

0FC00h

SOOB:

DB

“WORD”

; массив 57h, 4Fh, 52h,

; 44h начиная с 0FC00h

* * *

LXI

H, SOOB+1

; HL=0FC01h

* * *

MOV

B, M

; B=4Fh

* * *

При преобразовании символов формируется ASCII–код.

При вычислении выражения в поле операнда директивы DB, можно получить дополнительный код числа.

Пример.

Метка

Код

Операнд

Комментарий

;Пример использования директивы DB

ORG

4571h

COMPL:

DB

-37

; дополнительный код

; числа –37

* * *

LDA

COMPL

; A = DBh

* * *

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