Motorola MC68HC705C8Рефераты >> Радиоэлектроника >> Motorola MC68HC705C8
Регистр признаков (СС) содержит 5 флагов, устанавливающихся в зависимости от результата выполнения арифметических и других команд. Этими флагами являются: флаг полупереноса (Н), флаг отрицательного результата (N), флаг нулевого результата (Z), бит маски прерываний (I) и флаг переноса (С).
Флаг полупереноса(Н)-используется для операций с числами в двоично-десятичном коде и изменяется при операциях сложения (ADD) и сложения с флагом переноса (ADC). Бит Н устанавливается в 1 при возникновении переноса из бита 3 в бит 4.
Бит маскирования прерываний (I)-запрещает все маскируемые прерывания при установке его в 1. Бит I автоматически устанавливается при возникновении любого прерывания сразу же после сохранения регистров в стеке, но до передачи управления по вектору прерывания. Если внешнее прерывание происходит в тот момент, когда ,бит I установлен в 1, то запрос на прерывание фиксируется и обрабатывается после сброса бита I. После обслуживания прерывания, команда возврата из прерывания (RTI) восстанавливает содержимое регистров. Таким образом, после обработки прерывания I-бит сбрасывается, а при начальной установке ОЭВМ бит I устанавливается в 1 и может быть сброшен программно.
Флаг отрицательного результата (N) устанавливается в 1, если результат последней операции является отрицательным числом, и сбрасывается в противоположном случае.
Флаг нулевого результата (Z) устанавливается в 1, если результатом последней операции является 0 и сбрасывается в противоположном случае.
Флаг Перенос (заем) (С) индицирует, что произошел перенос в результате операции сложения, либо заем при вычитании. Операции сдвига и циклического сдвига происходят через этот бит, что дает возможность осуществлять операции сдвига с операндами из нескольких слов.
1.4. Режимы адресации.
ОЭВМ МС68НС705С8 использует восемь режимов адресации, определяющих способ доступа к данным, требуемым для выполнения команд. Способы адресации, поддерживаемые ОЭВМ МС68НС05С8, перечислены ниже:
неявная;
непосредственная;
прямая;
расширенная;
индексная без смещения;
индексная с 8-разрядным смещением;
индексная с 16-разрядным смещением;
относительная.
Команды с неявной адресацией либо не имеют операндов, либо содержат указание на операнд в мнемонике команды. К таким командам относятся, например, команды возврата из прерывания (RTI), останова (STOP) и т.д. Неявный тип адресации имеют команды работы с данными в регистрах микропроцессора, например, установить флаг переноса (SEC), увеличение числа, хранящегося в аккумуляторе, на единицу (INCA), и другие. Команды с неявной адресацией не требуют обращения к памяти и имеют длину один байт. В Таблице 1-1 приведен список команд, которые используют неявную адресацию.
Таблица 1-1. Команды, использующие неявную адресацию.
Команда |
Мнемоника |
Арифметический сдвиг влево |
ASLA, ASLX |
Арифметический сдвиг вправо |
ASRA, ASRX |
Сбросить флаг переноса |
CLC |
Сбросить флаг маскирования прерываний |
CLI |
Обнулить |
CLRA, CLRX |
Дополнение |
COMA, COMX |
Декремент на 1 |
DECA, DECX |
Инкремент на 1 |
INCA, INCX |
Логический сдвиг влево |
LSLA, LSLX |
Логический сдвиг вправо |
LSRA, LSRX |
Умножение |
MUL |
Изменить знак |
NEGA, NEGX |
Нет операции |
NOP |
Циклический сдвиг влево через флаг переноса |
ROLA, ROLX |
Циклический сдвиг вправо через флаг переноса |
RORA, RORX |
Инициализация указателя стека |
RSP |
Возврат из прерывания |
RTI |
Возврат из подпрограммы |
RTS |
Установить флаг переноса |
SEC |
Установить бит маскирования прерываний |
SEI |
Разрешить IRQ\ и останов генератора синхроимпульсов |
STOP |
Программное прерывание |
SWI |
Запись содержимого аккумулятора в индексный регистр |
TAX |
Проверить на отрицательность и равенство нулю |
TSTA, TSTX |
Запись содержимого индексного регистра в аккумулятор |
TXA |
Разрешить прерывание и останов процессора |
WAIT |
Пример:
0200 4С INCA Инкремент аккумулятора
Производимые действия:
$0200 $4C [1], [2], [3]
Объяснение:
[1] процессор читает код операции $4C - инкремент аккумулятора;
[2], [3] процессор считывает содержимое аккумулятора, увеличивает на 1, запоминает новую величину в аккумуляторе, в соответствии с результатом устанавливает биты в регистре флагов.
При непосредственной адресации операнд первый операнд находится в аккумуляторе или индексном регистре, а второй является частью кода команды. Команды с непосредственной адресацией не требуют адреса памяти и имеют длину два байта. Код команды содержится в первом байте, а операнд во втором байте. Таблица 1-2 содержит команды, использующие непосредственную адресацию.
Таблица 1-2. Команды, использующие непосредственную адресацию.
Команда |
Мнемоника |
Сложение с флагом переноса |
ADC |
Сложение |
ADD |
Логическое И |
AND |
Битовое сравнение ячейки памяти с аккумулятором |
BIT |
Сравнение аккумулятора и ячейки памяти |
CMP |
Сравнение индексного регистра и ячейки памяти |
CPX |
Исключающее ИЛИ ячейки памяти и аккумулятора |
EOR |
Загрузить аккумулятор содержимым ячейки памяти |
LDA |
Загрузить индексный регистр содержимым ячейки памяти |
LDX |
Операция ИЛИ |
ORA |
Вычитание с флагом переноса |
SBC |
Вычитание |
SUB |