Снос зданий:
ecosnos.ru
Главная  Микроустройства: номенклатура изделий электронной промышленности 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [ 59 ] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Модифицированная через нулевую страницу адресация. Данный тип адресации используется в микроЭВМ MOSTEK Z80. Однобайтовая инструкция содержит код операции и адрес одной из восьми ячеек нулевой страницы памяти.В результате выполнения такой инструкции может быть получен доступ к полному 16-битовому адресу. Этот тип адресации эффективно используется в командах перехода, вызова подпрограмм и возврата.

Самоопределениая адресация. Мнемоника инструкции и ее код после трансляции предполагает обращение к одному из регистров, доступных пользователю. В качестве примера использования данного типа адресации можно указать арифметические инструкции (MOSTEK Z80), которые всегда направляют результат в аккумулятор.

Символические имена

Ассемблер обрабатывает символические имена трех типов: постоянные, определяемые пользователем н макроимена.

Постоянные имена представляют собой мнемонику различных машинных команд н директив ассемблера. Эти имена не надо определять перед использованием в поле оператора. Например, символические имена, используемые в программах, составленных на ассемблере, разработанном для семейства микроЭВМ TEXAS INSTRUMENTS TMS9900 [68], означают следующее: СВ (сога-parl bytes) - сравнение байт; J EQ {jump equal) - переход при выполнении сравнения; DEC (decrement) - вычитание единицы; CLR (clear) - очистка, и т. д. Р-. I

Мнемоника большей части команд ассемблеров различных микроЭВМ и МП совпадает. Различия в основном проявляются на более низком уровне, т. е. в реализации команд, а также в способах адресации и записи выражений в поле операндов.

Имена, определяемые пользователем, и макроимена. Имена, определяемые пользователем,- это метки, имена, сопоставленные некоторым значениям оператором присваивання, имена макрокоманд, определяемых пользователем, и фиктивные аргументы [62]. Имена некоторых макрокоманд могут быть системными и ие определяться пользователем. Их значения и действия стандартные и определены заранее для данной версии ассемблера и операционной среды.

Обычно все имена формируются из литерно-цифровых символов. В большинстве ассемблеров есть ограничения на максимальное количество литер в имени (не более шести). Первой литерой Должна быть буква.

6.2. УСЛОВНОЕ АССЕМБЛИРОВАНИЕ

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



Условное ассемблирование в ассемблере

для микроэвм Электроника-60 в ОС ФОДОС

Условная трансляция управляется набором директив. Директивы. IF и .ENDC. Формат директив:

IF условие, аргумент(ы) блок программы

ENDC,

где условие - одно из условий, перечисленных в табл. 6.2, аргументы - символический аргумент (аргументы) или выражение (выражения) для проверки заданных условий. Если условие выполняется, то блок программы, размещенный между директивами .IF и .ENDC транслируется; если условие не выполняется - на транслируется.

6.2. Условия, задаваемые в директивах условной трансляции

Условие

Дополни-

Аргумент

ное

тельнор

Выражение

Символическое имя

В

Аргумент типа параметра

макрокоманды

Два аргумента типа па-

раметра макрокоманды

Выражение

Блок программы транслируется, если

Выражение = О(# 0) >0 0) < О (> 0) Имя определено (не определено)

Аргумента нет (аргумент есть)

Аргументы одинаковы (различны)

Выражение = О (4Ф 0) >0 0)

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

При проверке условий DF и NDE используются две логические операции для группировки символических аргументов; & - операция И , I - операция ИЛИ .

Пример;

IF EQ А-B-l-1 ; БЛОК ТРАНСЛИРУЕТСЯ, ЕСЛИ ; А - В -Ь 1 = 0. .

ENDC

Директивы. IFF, IFT, .IFTF.

Директивы используются только в блоках условной трансляции. Форматы директив:

метка : \ IFF метка : . IFT метка : , IFTF



Данные директивы указывают, что часть программы, размещенная за одной из них до следующей директивы транслируется в зависимости от результата проверки условия в директиве условной трансляции: .IFF - транслировать, если условие ложно, .IFT - транслировать, если условие истинно, .IFTF - транслировать независимо от значения условия.

Пример:

IF DF А&В ; ПУСТЬ А и ВОПРЕДЕЛЕНО, А IF DF С ; С - НЕОПРЕДЕЛЕНО

IFF ; ДАННЫЙ БЛОК ТРАНСЛИРУЕТСЯ, Т. К.

; УСЛОВИЕ ЛОЖНО, С - НЕОПРЕДЕЛЕНО.

IFT ; ДАННЫЙ БЛОК НЕ ТРАНСЛИРУЕТСЯ, Т.К.

; УСЛОВИЕ ЛОЖНО, С - НЕОПРЕДЕЛЕНО.

IFF ; ДАННЫЙ БЛОК ТРАНСЛИРУЕТСЯ, Т. К.

; УСЛОВИЕ ЛОЖНО, С - НЕОПРЕДЕЛЕНО.

. IFTF ; ДАННЫЙ БЛОК ТРАНСЛИРУЕТСЯ НЕЗАВИСИМО . ENDC ; ОТ УСЛОВИЯ.

. ENDC

Директива .IIF - директива непосредственной условной траис лтции. Формат директивы: IIF условие, аргумент, команда, где ус л)вие -одно из условий, допустимых для директивы .IF (табл 6.2); аргумент - выражение, символический аргумент или пара метр макрокоманды (табл. 6.3); команда - команда ассемблера

6.3. Директивы условной трансляции в языке ассемблера ОС ФОДОС

Директива

Аргумент

Блок ассемблируется, если

.IFZ или .IFEQ

Выражение

Выражение = 0

.IFNZ или .IFNE

ФО

.IFL или .IFLT

<0

.IFG или .IFGT

>0

.IFLE

<0

.IFDF

Символический

Символ определен

.IFNDF

не определен

Для этой формы оператор. ENDC не требуется. Если условие истинно, то ассемблер транслирует указанную в директиве команду, например:

.IIF NE А INC ZET

Команда INC ZET транслируется, если значение выражения А не равно 0.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [ 59 ] 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95