6.4. Структура командной строки ассемблера
Ассемблерные предложения:
ххх хххххх хх хххххх хх хххххххх ххххххххх
…………………………………………………………………
хххххх хх хх ххх хххххх ххххх ххххх
поле 1 поле 2 поле 3 поле 4 поле 5 поле 6 поле 7
Метка Парал- Условие Команда Модуль Операнды Комментарий
лельные
линии
Пробелы внутри каждого из 6 первых полей запрещены.
Поле метки
правильная запись L…: _G...:
неправильная запись 1…: _1…: _:
П оле параллельных линий ||
Поле условия
Р
Условие
Команда
выполняется, если
[A1]
содержимое
А1 не нулевое
[!A1]
содержимое
А1 равно нулю
Принцип выполнения условных команд:
Поле команды
Мнемоника директивы или команды.
Пример директивы ассемблера: .set (на машинный язык не переводятся).
Пример команды ассемблера: add (переводятся на машинный язык).
Поле модуля
Имя конкретного функционального устройства, например .D1 или .L1Х, если один операнд берется с противоположной стороны.
Функциональный тип устройства, например .М.
Поле операндов
Имена регистров РОН, содержащие данные.
Адресация операндов.
Данные в числовой форме:
-
Константы:
-
двоичное целое, например 01b, 0100В;
-
восьмеричное целое, например 236q, 10Q;
-
десятичное целое: знаковые числа от -2 147 483 648 до 2 147 483 647,
числа без знака от 0 до 4 294 967 295;
-
шестнадцатеричное целое, например 9АH, 5Dh. Требование: должна начинаться с цифры. Так, при вводе А5h следует указывать как 0А5h;
-
символ, например ‘А’ (символ А), ‘ ’ (пробел), ‘’’ (один апостроф);
-
символьная строка, например “LAN ‘’’’C’’’’ (план ''C').
2. Выражение.
Поле комментария
Начинается символом:
-
«;», если размещается с любого (кроме первого) столбца ассемблерной строки;
-
«*»,если размещается с первого столбца ассемблерной строки.
6.6. Основные команды процессора ‘C6x для целых чисел
Команды загрузки и хранения
Третья буква мнемоник:
W – слово (32-разрядное двоичное число)
H – полуслово (16 младших двоичных разрядов)
B – байт (8 младших двоичных разрядов)
Особенности команд загрузки:
LDH и LDB – расширение знаком полуслова или байта, соответственно;
LDHU и LDBU – расширение нулем.
Примеры для mem = 1005 В071h:
после выполнения LDH – FFFF В071h (В=1011),
после выполнения LDB – 0000 0071h (7=0111),
после выполнения LDHU – 0000 В071h.
Формат поля операндов команд загрузки/хранения:
(для LD) *<АК>,<регистр-приемник РОН>
(для ST) <регистр-источник РОН>,*<АК>