Motorola MC68HC705C8Рефераты >> Радиоэлектроника >> Motorola MC68HC705C8
Регистр условий не изменяется.
BNE Переход, если не равно.
PC(PC)+$0002+Rel Если (Z)=0
Тестируется состояние бита Z регистра условий. Возникает переход, если бит Z сброшен. Следуя после сравнения или вычитания, BNE вызовет переход, если аргументы не равны.
Регистр условий не изменяется.
BEQ Переход, если равно.
PC(PC)+$0002+Rel Если (Z)=1
Тестируется состояние бита Z регистра условий. Возникает переход, если бит Z установлен. Следуя после сравнения или вычитания, BEQ вызовет переход, если аргументы равны.
Регистр условий не изменяется.
BHCC Переход, если сброшен флаг переноса из младшей тетрады.
PC(PC)+$0002+Rel Если (H)=0
Тестируется состояние бита H регистра условий. Возникает переход, если бит H сброшен. Команда используется при работе с числами в BCD формате.
Регистр условий не изменяется.
BHCS Переход, если установлен флаг переноса из младшей тетрады.
PC(PC)+$0002+Rel Если (H)=1
Тестируется состояние бита H регистра условий. Возникает переход, если бит H установлен. Команды используется при работе с числами в BCD формате.
Регистр условий не изменяется.
BPL Переход, если плюс.
PC(PC)+$0002+Rel Если (N)=0
Тестируется состояние бита N регистра условий. Возникает переход, если бит N сброшен.
Регистр условий не изменяется.
BMI Переход, если минус.
PC(PC)+$0002+Rel Если (N)=1
Тестируется состояние бита N регистра условий. Возникает переход, если бит N установлен.
Регистр условий не изменяется.
BMC Переход, если бит маскирования прерываний сброшен.
PC(PC)+$0002+Rel Если (I)=0
Тестируется состояние бита I регистра условий. Возникает переход, если бит I сброшен (то есть прерывания разрешения).
Регистр условий не изменяется.
BMS Переход, если бит маскирования прерываний установлен.
PC(PC)+$0002+Rel Если (I)=1
Тестируется состояние бита I регистра условий. Возникает переход, если бит I установлен (то есть прерывания запрещены).
Регистр условий не изменяется.
BIL Переход, если вход запроса прерывания в 0.
PC(PC)+$0002+Rel Если IRQ\=0
Тестируется состояние выводы микропроцессора запроса внешнего прерывания. Возникает переход, если на входе нулевой логический уровень.
Регистр условий не изменяется.
BIH Переход, если вход запроса прерывания в 1.
PC(PC)+$0002+Rel Если IRQ\=1
Тестируется состояние выводы микропроцессора запроса внешнего прерывания. Возникает переход, если на входе логическая единица.
Регистр условий не изменяется.
BSR Переход на подпрограмму.
PC(PC)+$0002 В PC адрес возврата
(PCL) Сохраняется младший байт адреса возврата в стек
SP(SP)-$0001
(PCH) Сохраняется старший байт адреса возврата в стек
SP(SP)-$0001
PC(PC)+Rel В PC загружается адрес подпрограммы
Программный счетчик увеличивается на 2 от адреса кода операции BSR, таким образом в PC оказывается адрес следующей за BSR команды, который является адресом возврата из подпрограммы. Младший байт программного счетчика помещается в стек. Указатель стека уменьшается на 1. Затем старший байт программного счетчика помешается в стек, указатель стека уменьшается на 1. Производится переход по адресу, определяемому смещением.
Регистр условий не изменяется.
JMP Длинный безусловный переход.
PCЭффективный адрес
Осуществляется переход по эффективному адресу. Эффективный адрес вычисляется в соответствии с правилами для расширенного, прямого и индексного режимов адресации.
Регистр условий не изменяется.
JSR Длинный вызов подпрограммы.
PC(PC)+n n=1,2,3 взависимости от режима адресации
(PCL); SP SP-$0001 Младший байт адреса возврата в стек
(PCH); SP SP-$0001 Старший байт адреса возврата в стек
PCЭффективный адрес Загрузить в PC адрес подпрограммы
Программный счетчик увеличивается на n, то есть до адреса следующей за JSR команды. Затем PC сохраняется в стеке. Не используемые биты программного счетчика сохраняются как единицы. Указатель стека указывает на следующую свободную ячейку памяти. Осуществляется переход по эффективному адресу. Эффективный адрес вычисляется в соответствии с правилами для расширенного, прямого и индексного режимов адресации.
Регистр условий не изменяется.
SWI Программное прерывание
(PC)(PC)+$0001 В PC адрес возврата
(PCL); SP(SP)-$0001 В стек младший байт адреса возврата
(PCH); SP(SP)-$0001 В стек старший байт адреса возврата
(X); SP(SP)-$0001 В стек индексный регистр
(AC); SP(SP)-$0001 В стек аккумулятор
(CCR); SP(SP)-$0001 В стек регистр признаков
I бит 1
PCH($xFFC) Вектор прерывания (x=1 или 3, в зависимости от версии HC05)
PCL($xFFD)
Содержимое программного счетчика увеличивается на единицу. Программный счетчик, индексный регистр, аккумулятор и регистр признаков помещаются в стек. Содержимое указателя стека уменьшается на единицу каждый раз после того, как в стек помещен байт. Бит маскирования прерываний устанавливается в единицу. В программный счетчик записывается адрес, хранящийся в векторе прерывания SWI (адрес расположен по адресу n-0002 и n-0003, где n-адрес, соответствующий единичному состоянию всех адресных выходов миропроцессора.). Команда SWI не маскируется установкой бита I регистра признаков.
I Устанавливается в 1.
RTI Возврат из подпрограммы обработки прерывания
SP(SP)+$0001 ССR CCR из стека
SP(SP)+$0001 AC AC из стека
SP(SP)+$0001 X X из стека
SP(SP)+$0001 PCH PCH из стека
SP(SP)+$0001 PCL PCL из стека
Регистр признаков, аккумулятор, индексный регистр и программный счетчик восстанавливаются из стека. Бит I сбрасывается, если соответствующий бит регистра признаков в стеке был нулевым.
Биты регистра признаков принимают значения в соответствии с байтом, взятым из стека.
RTS Возврат из подпрограммы
SP(SP)+$0001 PCH PCH из стека
SP(SP)+$0001 PCL PCL из стека
Указатель стека увеличивается на единицу. Содержимое ячейки памяти, на которую указывает указатель стека, записывается в старший байт программного счетчика. Указатель стека еще раз увеличивается на единицу. Содержимое ячейки памяти, не которую указывает указатель стека, записывается в младший байт программного счетчика.
Регистр признаков не изменяется.
Арифметические и логические команды, битовые операции.
ADD Сложить содержимое ячейки памяти с аккумулятором
AC(AC)+(M)
Сложить содержимое M и содержимое AC и разместить в AC.
H A3*M3+M3*R3\+R3\*A3
Устанавливается, если имеет место перенос из бита 3, иначе сбрасывается.
N R7
Устанавливается, если старший бит результата установлен, иначе сбрасывается.
Z R7\*R6\*R5\*R4\*R3\*R2\*R1\*R0\
Устанавливается, если все битв результата сброшены. Иначе сбрасывается.
C A7*M7+M7*R7\+R7\*A7
Устанавливается, если имеет место перенос из старшего бита результата, иначе сбрасывается.
ADC Сложить содержимое ячейки памяти с аккумулятором и флагом переноса.