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


Страница: