Motorola MC68HC705C8Рефераты >> Радиоэлектроника >> Motorola MC68HC705C8
Команды с индексной адресацией с 8-разрядным смещением имеют длину два байта, что позволяет обращаться к операндам в пределах первых 511 байт. Процессор складывает беззнаковый байт в индексном регистре с беззнаковым байтом, следующим за кодом операции. Полученная сумма является адресом операнда. Эта команда позволяет адресовать операнд в пределах от $0000 до $01FE. Индексную адресацию с 8-разрядным смещением удобно применять для выбора k-го элемента из n элементов таблицы. Таблица может начинаться с любого адреса в пределах первых 256 байт и занимать адреса до $01FE. Число k обычно записывается в индексный регистр. Адресом начала таблицы является байт, следующий за кодом операции. В Таблице 1-5 приведен список команд, использующих индексную адресацию с 8-разрядным смещением.
Индексную адресацию с 16-разрядным смещением удобно использовать для выбора k-го элемента в таблице из n элементов в любой точке адресного пространства. Как и в случае прямой и расширенной адресации, ассемблер фирмы Motorola определяет автоматически наиболее короткую форму индексной адресации. В Таблице 1-5 приведен список команд, которые используют индексную адресацию с 16-разрядным смещением.
Относительная адресация используется только командами перехода и битового сравнения. ЦП вычисляет адрес перехода посредством сложения байта, следующего за кодом операции, с содержимым программного счетчика, если выполняется условие перехода. Если условие перехода не выполняется, процессор переходит на выполнение следующей команды. Чтобы определить направление перехода, смещение является знаковой величиной, дополнение байта до двух дает переход в пределах от -127 до 128 байт от адреса команды, следующей за командой перехода. При использовании ассемблера фирмы Motorola программисту не требуется вычислять смещение, потому что ассемблер вычисляет требуемое смещение и проверяет длину перехода на допустимость. В Таблице 1-6 перечислены команды, которые используют относительную адресацию.
Таблица 1-6. Команды, использующие относительную адресацию.
Команда |
Мнемоника |
Перейти, если сброшен флаг переноса |
BCC |
Перейти, если флаг переноса установлен |
BCS |
Перейти, если операнды равны |
BEQ |
Перейти, если сброшен перенос из младшей тетрады |
BHCC |
Перейти, если установлен флаг переноса из младшей тетрады |
BHCS |
Перейти, если больше |
BHI |
Перейти, если больше или равно |
BHS |
Перейти, если активизирован вход запроса прерывания |
BIH |
Перейти, если не активизирован вход запроса прерывания |
BIL |
Перейти, если меньше |
BLO |
Перейти, если меньше или равно |
BLS |
Перейти, если бит маскирования прерывания сброшен |
BMC |
Перейти, если результат отрицательный |
BMI |
Перейти, если бит маскирования прерывания установлен |
BMS |
Перейти, если не равно |
BNE |
Перейти, если результат положительный |
BPL |
Безусловный переход |
BRA |
Перейти, если сброшен бит n |
BRCLR |
Перейти, если установлен бит n |
BRSET |
Нет перехода |
BRN |
Вызов подпрограммы |
BSR |
1.5. Набор команд.
Команды процессора можно разделить на следующие группы:
команды пересылки данных
команды передачи управления
арифметические и логические команды, битовые операции.
Рассмотрим работу команд каждой группы подробнее. При этом будем использовать следующие условные знаки;
Операнды:
()-содержимое регистра или ячейки памяти
-загружается из
-извлекается из стека
-загружается в стек
* -логическое умножение (И)
+-арифметическое сложение (кроме тех случаев, где используется как ИЛИ в логических операциях)
х-умножение
\-отрицание
Регистры:
AC -аккумулятор
CCR -регистр признаков
Х -индексный регистр
РС -программный счетчик
РСН -старший байт программного счетчика
PCL -младший байт программного счетчика
SP -указатель стека
Память и адресация:
М -ячейка памяти либо ее содержимое в зависимости от режима адресации
Rel -относительное смещение
Биты регистра признаков:
H, I, N, C, Z-в соответствии с главой 1.3
Состояние определенных бит до выполнения операции (n=7, 6, . , 0):
An -бит n аккумулятора
Xn -бит n индексного регистра
Mn-бит n ячейки памяти
Состояние определенных бит после выполнения операции:
Rn-бит n результата
При описании изменения состояния флагов в регистре признаков после буквенного обозначения флага будет следовать формула, определяющая состояние регистра после данной команды. Подразумевается, что если флаг не упоминается, то его содержимое не изменяется.
Команды пересылки данных.
LDA Загрузить аккумулятор содержимым ячейки памяти.
Команда пересылает содержимое ячейки памяти в аккумулятор. В соответствии с записываемыми в аккумулятор данными устанавливаются биты в регистре признаков.
N R7 .
Устанавливается, если установлен старший бит аккумулятора, в противном случае сбрасывается.
Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\
Устанавливается, если в аккумуляторе $00, иначе сбрасывается.
LDX Загрузить индексный регистр содержимым ячейки памяти.