Система команд однокристальных микроЭВМ
Наименование команды |
Операнды |
Машинный код |
Количество циклов |
Действие |
Описание команды |
1.Команды передачи данных |
MOV |
A,Rr (r=0-7) |
1111 1rrr |
1 |
(A)<-(Rr) |
Передача содержимого РОН в А |
MOV |
Rr,A (r=0-7) |
1010 1rrr |
1 |
(Rr)<-(A) |
Передача содержимого А в РОН |
MOV |
A,@Rr (r=0-1) |
1111 000r |
1 |
(A)<-((Rr)) |
Передача содержимого ячейки памяти данных в A. Содержимое A, передаётся в ячейку памяти данных, адресуемой разрядами 0-5 регистра "r", передаётся в A. Содержимое регистра "r" не меняется |
MOV |
@Rr,A (r=0-1) |
1010 000r |
1 |
((Rr))<-(A) |
Передача содержимого A в память данных. Содержимое ячейки памяти данных, адресуемой разрядами 0-5 регистра "r", передаётся в A. Содержимое регистра "r" не меняется |
MOVX |
A,@Rr (r=0-1) |
1000 000r |
2 |
(A)<-((Rr)) |
Передача содержимого ячейки внешней памяти данных в A. Содержимое A, передаётся в ячейку памяти данных, адресуемой разрядами 0-5 регистра "r", передаётся в A. Содержимое регистра "r" не меняется |
MOVX |
@Rr,A (r=0-1) |
1001 000r |
2 |
((Rr))<-(A) |
Передача содержимого A во внешнюю память данных. Содержимое ячейки памяти данных, адресуемой разрядами 0-5 регистра "r", передаётся в A. Содержимое регистра "r" не меняется |
MOV |
Rr,#data (r=0-7) |
1011 1rrr данные |
2 |
(Rr)<-данные |
Непосредственная передача данных в РОН |
MOV |
@Rr,#data (r=0-1) |
1011 000r данные |
2 |
((Rr))<-данные |
Непосредственная передача данных в память данных. 8-разрядный код данных передаётся в ячейку резидентной памяти данных, адресуемую разрядами 0-5 регистра "r" |
MOV |
A,#data |
0010 0011 данные |
2 |
(A)<-данные |
Непосредственная передача данных в A |
MOV |
A,PSW |
1100 0111 |
1 |
(A)<-(PSW) |
Передача регистра состояния в A |
MOV |
PSW,A |
1101 0111 |
1 |
(PSW)<-(A) |
Передача содержимого A в регистр состояний. В результате этой передачи изменяются все биты условий и указатель стека |
MOV |
A,T |
0100 0010 |
1 |
(A)<-(T) |
Передача содержимого регистра таймера/счётчика в A |
MOV |
T,A |
0110 0010 |
1 |
(T)<-(A) |
Передача содержимого A в регистр таймера/счётчика |
MOVP |
A,@A |
1010 0011 |
2 |
(PC 0-7)<-(A) (A)<-((PC)) |
Передача данных текущей страницы в A. Содержимое ячейки памяти программ, адресуемой A, передаётся в A. Изменяются 0-7 разряды счётчика команд в пределах текущей страницы. После выполнения этой команды происходит восстановление содержимого счётчика команд. Примечание: Если эта команда записана в 255 ячейке страницы, то аккумулятор адресует ячейку, расположенную на следующей странице. |
MOVP3 |
A,@A |
1110 0011 |
2 |
(PC 0-7)<-(A) (PC 8-10)<-011b (A)<-((PC)) |
Передача данных третьей страницы в А. Содержимое ячейки памяти программ, находящееся на третьей странице и адресуемой аккумулятором, передаётся в A. После выполнения этой команды происходит восстановление счётчика команд. |
XCH |
A,Rr (r=0-7) |
0010 1rrr |
1 |
(A)<->(Rr) |
Обмен содержимого аккумулятора и РОН |
XCH |
A,@Rr (r=0-1) |
0010 000r |
1 |
(A)<->((Rr)) |
Обмен содержимого аккумулятора и содержимого ячейки памяти данных. Содержимое аккумулятора обменивается с содержимым ячейки памяти данных, адресуемой разрядами 0-5 регистра "r". Содержимое "r" не изменяется |
XCHD |
A,@Rr (r=0-1) |
0011 000r |
1 |
(A 0-3)<->((Rr 0-3)) |
Обмен четырёх младших разрядов A с содержимым четырёх младших разрядов ячейки памяти данных. По этой команде происходит обмен 0-3 разрядов A с разрядами 0-3 ячейки памяти данных, адресуемой 0-5 разрядами регистра "r". 4-7 разряды аккумулятора и ячейки памяти данных, а также содержимое регистра "r" остаются без изменений. |
SWAP |
A |
0100 0111 |
1 |
(A 4-7)<->(A 0-3) |
Обмен местами сожержимого четёрых младших и четырёх старших разрядов A. Содержимое 0-3 разрядов A меняется местами соответственно с содержимым 4-7 разрядов A. |
IN |
A,Pp (p=1,2) |
0000 10pp |
2 |
(A)<-(Pp) |
Данные, поступившие на порты 1-2, передаются в A |
INS |
A,BUS |
0000 1000 |
2 |
(A)<-(BUS) |
Стробируемый ввод данных из порта данных в A. Данные из порта данных передаются (считываются) в A по заднему фронту -RD |
OUTL |
Pp,A (p=1,2) |
0011 10pp |
2 |
(Pp)<-(A) |
Вывод данных из A в порт 1-2 и фиксация |
OUTL |
BUS,A |
0000 0010 |
2 |
(BUS)<-(A) |
Вывод данных из A в порт данных. Данные из A передаются в порт данных и фиксируются до тех пор пока не поступит новая команда "OUTL". Любая другая команда, требующая использования порта данных (за исключением команды INS) разрушает содержимое порта данных. К ним относятся команды по расширению памяти (например команда MOVX). |
MOVD |
A,Pp (p=4-7) |
0000 11pp |
2 |
(A 0-3)<-(Pp) (A 4-7)<-0 |
Передать данные из порта (4-7) в A. Данные из порта "p" ИС расширителя передаются в 0-3 разряды A. 4-7 разряды аккумулятора обнуляются. Разряды 0-1 кода операции используются для кодирования номера портов 4-7 следующим образом:Разряд(10) | Порт |
---|
00 | 4 | 01 | 5 | 10 | 6 | 11 | 7 |
|
MOVD |
Pp,A (p=4-7) |
0011 11pp |
2 |
(Pp)<-(A 0-3) |
Передача содержимого 0-3 разрядов A в порт 4-7. Содержимое 0-3 разрядов A передаётся в порт "р" ИС расширителя. Содержимое 4-7 разрядов A не меняется. Разряды 0-1 кода операции используются для кодирования номера портов 4-7 следующим образом:Разряд(10) | Порт |
---|
00 | 4 | 01 | 5 | 10 | 6 | 11 | 7 |
|
2.Команды преобразования данных |
ANL |
A,Rr (r=0-7) |
0101 1rrr |
1 |
(A)<-(A) AND (Rr) |
Логическое "И" соержимого A с маской, содержащейся в РОН |
ORL |
A,Rr (r=0-7) |
0100 1rrr |
1 |
(A)<-(A) OR (Rr) |
Логическое "ИЛИ" содержимого A с маской, содержащейся в РОН |
XRL |
A,Rr (r=0-7) |
1101 1rrr |
1 |
(A)<-(A) XOR (Rr) |
Исключающее "ИЛИ" содержимого A с маской, содержащейся в РОН |
ANL |
A,@Rr (r=0-1) |
0101 000r |
1 |
(A)<-(A) AND ((Rr)) |
Логическое "И" содержимого A с маской, содержащейся в ячейке памяти данных, адресуемой разрядами 0-5 регистра "r" |
ORL |
A,@Rr (r=0-1) |
0100 000r |
1 |
(A)<-(A) OR ((Rr)) |
Логическое "ИЛИ" содержимого A с маской, содержащейся в ячейке памяти данных, адресуемой разрядами 0-5 регистра "r" |
XRL |
A,@Rr (r=0-1) |
1101 000r |
1 |
(A)<-(A) XOR ((Rr)) |
Исключающее "ИЛИ" содержимого A с маской, содержащейся в ячейке памяти данных, адресуемой разрядами 0-5 регистра "r" |
ANL |
A,#data |
0101 0011 данные |
2 |
(A)<-(A) AND данные |
Логическое "И" содержимого A с непосредственной маской данных |
ORL |
A,#data |
0100 0011 данные |
2 |
(A)<-(A) OR данные |
Логическое "ИЛИ" содержимого A с непосредственной маской данных |
XRL |
A,#data |
1101 0011 данные |
2 |
(A)<-(A) XOR данные |
Исключающее "ИЛИ" содержимого A с непосредственной маской данных |
ANL |
Pp,#data (p=1-2) |
1001 10pp данные |
2 |
(Pp)<-(Pp) AND данные |
Логическое "И" данных на портах 1-2 с непосредственной маской данных |
ANL |
BUS,#data |
1001 1000 данные |
2 |
(BUS)<-(BUS) AND данные |
Логическое "И" содержимого порта данных с непосредственной маской данных. Перед этой командой должна пройти команда OUTL BUS,A |
ORL |
Pp,#data (p=1-2) |
1000 10pp данные |
2 |
(Pp)<-(Pp) OR данные |
Логическое "ИЛИ" данных на портах 1-2 с непосредственной маской данных |
ORL |
BUS,#data |
1000 1000 данные |
2 |
(BUS)<-(BUS) OR данные |
Логическое "ИЛИ" содержимого порта данных с непосредственной маской данных. Перед этой командой должна пройти команда OUTL BUS,A |
ANLD |
Pp,A (p=4-7) |
1001 11pp |
2 |
(Pp)<-(Pp) AND (A0-3) |
Логическае "И" содержимого порта (4-7) с маской, содержащейся в A. Логическое "И" данных порта "p" с маской содержащейся в разрядах 0-3 аккумулятора. Результат записывается в порт "p". Содержимле A не меняется. Примечание: номер порта "p" кодируется разрядами 0-1 кода операции следующим образом:Разряд(10) | Порт |
---|
00 | 4 | 01 | 5 | 10 | 6 | 11 | 7 |
|
ORLD |
Pp,A (p=4-7) |
1000 11pp |
2 |
(Pp)<-(Pp) OR (A0-3) |
Логическае "ИЛИ" содержимого порта (4-7) с маской, содержащейся в A. Логическое "ИЛИ" данных порта "p" с маской содержащейся в разрядах 0-3 аккумулятора. Результат записывается в порт "p". Содержимле A не меняется. Примечание: номер порта "p" кодируется разрядами 0-1 кода операции следующим образом:Разряд(10) | Порт |
---|
00 | 4 | 01 | 5 | 10 | 6 | 11 | 7 |
|
RR |
A |
0111 0111 |
1 |
(An)<-(An+1) (A7)<-(A0) n=0-6 |
Циклический сдвиг вправо без переноса. Содержимое A сдвигается на один разряд. 0 разряд переходит на позицию 7 разряда. |
RL |
A |
1110 0111 |
1 |
(An+1)<-(An) (A0)<-(A7) n=0-6 |
Циклический сдвиг влево без переноса. Содержимое A сдвигается на один разряд. 7 разряд переходит на позицию 0 разряда. |
RRC |
A |
0110 0111 |
1 |
(An)<-(An+1) (A7)<-(C) (C)<-(A0) n=0-6 |
Циклический сдвиг вправо с переносом. Содержимое A сдвигается на один разряд. 0 разряд переходит на позицию разряда переноса. Разряд переноса переходит на позицию 7 разряда. |
RLC |
A |
1111 0111 |
1 |
(An+1)<-(An) (A0)<-(C) (C)<-(A7) n=0-6 |
Циклический сдвиг влево с переносом. Содержимое A сдвигается на один разряд. 7 разряд переходит на позицию разряда переноса. Разряд переноса переходит на позицию 0 разряда. |
INC |
@Rr (r=0-1) |
0001 000r |
1 |
((Rr))<-((Rr))+1 |
Инкремент содержимого ячейки памяти данных. Содержимое ячейки резидентой памяти данных, адресуемой 0-5 разрядами регистра "r" инкрементируется на 1. |
DEC |
A |
0000 0111 |
1 |
(A)<-(A)-1 |
Декремент содержимого A. Содержимое A уменьшается на 1. |
DEC |
Rr (r=0-7) |
1100 1rrr |
1 |
(Rr)<-(Rr)-1 |
Декрементирование содержимого РОН. Содержимое рабочего регистра уменьшается на 1. |
DJNZ |
Rr,address (r=0-7) |
1110 1rrr адрес |
2 |
(Rr)<-(Rr)-1 Если (Rr)<>0, (PC 0-7)<-адрес |
Декрементирование содержимого РОН и тестирование. Содержимое регистра "r" уменьшается на 1 и тестируется на "0". Если регистр содержит только нули, управление программоу передаётся следующей команде. Если содержимое регистра не 0, происходит переход по указанному во втором байте адресу. В этом случае 8-разрядный регистр адреса обеспечивает возможность адресования к 256 ячейкам текущей страницы. |
ADD |
A,Rr (r=0-7) |
0110 1rrr |
1 |
(A)<-(A)+(Rr) |
Сложение содержимого РОН и содержимого A. |
ADDC |
A,Rr (r=0-7) |
0111 1rrr |
1 |
(A)<-(A)+(Rr)+(C) |
Сложение содержимого разряда переноса и содержимого РОН с содержимым A. Содержимое разряда переноса складывается с содержимым нулевого разряда A и разряд переноса очищается. Затем содержимое регистра "r" складывается с содержимым A. |
ADD |
A,@Rr (r=0-1) |
0110 000r |
1 |
(A)<-(A)+((Rr)) |
Сложение содержимого ячейки памяти данных с содержимым A. Содержимое ячейки памяти данных, адресуемой 0-5 разрядами регистра "r", складывается с содержимым A. |
ADDC |
A,@Rr (r=0-1) |
0111 000r |
1 |
(A)<-(A)+((Rr))+(C) |
Сложение содержимого разряда переноса и содержимого ячейки памяти данных с содержимым A. Содержимое разряда переноса складывается с содержимым 0 разряда A, и разряд переноса очищается. Затем содержимое ячейки памяти данных, адресуемой 0-5 разрядами регистра "r", складывается с содержимым A. |
ADD |
A,#data |
0000 0011 данные |
2 |
(A)<-(A)+данные |
Непосредственное сложение данных с содержимым A. |
ADDC |
A,#data |
0001 0011 данные |
2 |
(A)<-(A)+данные+(C) |
Сложение содержимого разряда переноса и данных с содержимым A. Содержимое разряда переноса складывается с нулевым разрядом A, и разряд переноса очищается. Затем производится непосредственное сложение данных с содержимым A. |
CLR |
A |
0010 0111 |
1 |
(A)<-0 |
Обнулить A |
CPL |
A |
0011 0111 |
1 |
(A)<-NOT (A) |
Инвертирование содержимого A . Код, содержащийся в A, заменяется на обратный. Каждая единица заменяется на ноль и наоборот. |
DA |
A |
0101 0111 |
1 |
|
Десятичная коррекция A. Двоичный код A представляется в двоично-десятичной форме в виде двух 4-разрядных цифр. Как правило, эта операция следует за операцией сложения. Содержимое бита переноса изменяется. Если содержимое 0-3 разрядов A больше 9, или промежуточный бит переноса равен 1, содержимое A инкрементируется на 6. Затем проверяются четыре старших разряда. Если содержимое 4-7 разрядов больше 9, или если бит переноса - 1, содержимое этих разрядов увеличивается на 6. Если имеет место переполнение, бит переноса устанавливается в 1, если нет переполнения, он устанавливается в 0. |
INC |
A |
0001 0111 |
1 |
(A)<-(A)+1 |
Инкрементирование содержимого A. Содержимое A увеличивается на 1. |
INC |
Rr (r=0-7) |
0001 1rrr |
1 |
(Rr)<-(Rr)+1 |
Инкрементирование содержимого РОН. Содержимое рабочего регистра "r" увеличивается на 1. |
CLR |
C |
1001 0111 |
1 |
(C)<-0 |
Очистка разряда переноса. Во время выполнения программы разряд переноса может быть установлен в 1 командами ADD, ADDC, RLC, RRC, CPL C, DA. Команда CLR C позволяет обнулить разряд переноса. |
CPL |
C |
1010 0111 |
1 |
(C)<-NOT (C) |
Инвертирование содержимого разряда переноса. |
CLR |
F0 |
1000 0101 |
1 |
(F0)<-0 |
Содержимое флагового разряда (F0) устанавливается в 0 |
CPL |
F0 |
1001 0101 |
1 |
(F0)<-NOT (F0) |
Инвертирование содержимого флагового разряда (F0) |
CLR |
F1 |
1010 0101 |
1 |
(F1)<-0 |
Содержимое флагового разряда (F1) устанавливается в 0 |
CPL |
F1 |
1011 0101 |
1 |
(F1)<-NOT (F1) |
Инвертирование содержимого флагового разряда (F1) |
EN |
I |
0000 0101 |
1 |
|
Разрешение внешних прерываний. Внешние прерывания разрешаются сигналом низкого уровня на входе -INT |
DIS |
I |
0001 0101 |
1 |
|
Запрещение внешних прерываний. ОМЭВМ не реагирует на поступление низкого уровня на входе -INT |
EN |
TCNTI |
0010 0101 |
1 |
|
Разрешение прерываний по переполнению таймера/счётчика событий. Переполнение таймера счётчика событий запускает последовательность обработки прерываний. |
DIS |
TCNTI |
0011 0101 |
1 |
|
Запрещение прерываний по переполнению таймера/счётчика событий. |
STRT |
T |
0101 0101 |
1 |
|
Запуск таймера. Накомпление происходит в регистре таймера, который инкрементируется через каждые 32 командных цикла. Счётчик командных циклов начинает счёт с нуля. |
STRT |
CNT |
0100 0101 |
1 |
|
Запуск счётчика событий. Регистр счётчика событий инкрементируется каждый раз, когда на выводе T1 происходит переход уровня напряжения с высокого на низкий. |
STOP |
TCNT |
0110 0101 |
1 |
|
Останов таймера/счётчика событий |
ENTO |
CLK |
0111 0101 |
1 |
|
Разрешение вывода импульсов синхронизации. Эта функция запрещается командой системного сброса. |
SEL |
MB0 |
1110 0101 |
1 |
(DBF)<-0 |
Выбор нулевого (MB0) банка памяти программ. 11 разряд счётчика команд устанавливается в 0. Нулевой банк размещён в ячейках 0-2047 памяти программ. |
SEL |
MB1 |
1111 0101 |
1 |
(DBF)<-1 |
Выбор первого (MB1) банка памяти программ. 11 разряд счётчика команд устанавливается в 1. Первый банк размещён в ячейках 2048-4095 памяти программ. |
SEL |
RB0 |
1100 0101 |
1 |
(BS)<-0 |
Выбор нулевого банка рабочих регистров. 4 разряд регистра состояний устанавливается в 0. Рабочие регистры 0-7 занимают 0-7 ячейки памяти данных. |
SEL |
RB1 |
1101 0101 |
1 |
(BS)<-1 |
Выбор первого банка рабочих регистров. 4 разряд регистра состояний устанавливается в 1. Рабочие регистры 0-7 занимают 24-31 ячейки памяти данных. |
NOP |
|
0000 0000 |
1 |
|
Нет операции. Программа продолжается со следующей команды. |
3.Команды передачи управления |
CALL |
address |
aaa1 0100 адрес |
2 |
((SP))<-(PC),(PSW4-7) (PC8-10)<-адрес 8-10 (PC0-7)<-адрес 0-7 (PC11)<-(DBF) (SP)<-(SP)+1 |
Вызов подпрограммы. Содержимое счётчика команд и содержимое 4-7 разрядов регистра состояний засылаются в стек. Указатель стека (содержимое 0-2 разрядов регистра состояний) изменяется. Управление программой передаётся в ячейку с адресом указанным в данной команде. Содержимое 11 разряда счётчика команд определяется последней командой SEL MB. После возвращения из подпрограммы выполнение программы продолжается с команды, следующей за командой CALL. |
RET |
|
1000 0011 |
2 |
(SP)<-(SP)-1 (PC)<-((SP)) |
Возврат из подпрограммы без восстановления содержимого регистра состояний. Содержимое указателя стека (0-2 разряды регистра состяний) декрементируются. Содержимое счётчика команд восстанавливается из стека. Содержимое 4-7 разрядов регистра состояний не восстанавливается. |
RETR |
|
1001 0011 |
2 |
(SP)<-(SP)-1 (PC)<-((SP)) (PSW 4-7)<-((SP)) |
Возврат из подпрограммы (в т.ч. обслуживания прерываений) с восстановлением содержимого регистра состояний. Указатель стека декрементируется. Содержимое счётчика команд и содержимое 4-7 разрядов регистра состояний восстанавливаются из стека. |
JMP |
address |
aaa0 0100 адрес |
2 |
(PC8-10)<-адрес 8-10 (PC0-7)<-адрес 0-7 (PC11)<-(DBF) |
Безусловный переход по адресу, указанному в данной команде. Содержимое 0-10 разрядов счётчика команд замещаются непосредственно указанным в команде адресом. Содержимое 11 разряда счётчика команд определяется последней командой SEL MB. |
JMPP |
@A |
1011 0011 |
2 |
(PC0-7)<-((A)) |
Безусловный переход по адресу, содержащемуся в аккумуляторе. Переход осуществляется внутри текущей страницы памяти программ. Содержимое аккумулятора (разряды 0-7) загружаются в счётчик команд. 8-11 разряды счётчика команд на изменяются. |
JC |
address |
1111 0110 адрес |
2 |
Если C=1, (PC0-7)<-адрес Если C=0 (PC)<-(PC)+2 |
Переход, если разряд переноса установлен в 1. Управление программой передаётся по указанному адресу, если разряд переноса установлен в 1. |
JNC |
address |
1110 0110 адрес |
2 |
Если C=0, (PC0-7)<-адрес Если C=1 (PC)<-(PC)+2 |
Переход, если разряд переноса установлен в 0. Управление программой передаётся по указанному адресу, если разряд переноса установлен в 0. |
JZ |
address |
1100 0110 адрес |
2 |
Если (A)=0, (PC0-7)<-адрес Если (A)<>0 (PC)<-(PC)+2 |
Переход, если содержимое A равно 0. Управление программой передаётся по указанному адресу, если в момент выполнения этой команды во всех разрядах A нули. Содержимое A контролируется постоянно. |
JNZ |
address |
1001 0110 адрес |
2 |
Если (A)<>0, (PC0-7)<-адрес Если (A)=0 (PC)<-(PC)+2 |
Переход, если содержимое A не 0. Управление программой передаётся по указанному адресу, если в момент выполнения этой команды содержимое A не 0. Содержимое A контролируется постоянно. |
JF0 |
address |
1011 0110 адрес |
2 |
Если F0=1, (PC0-7)<-адрес Если F0=0 (PC)<-(PC)+2 |
Переход, если флаговый разряд (F0) установлен в 1. Управление программой передаётся по указанному адресу, если флаговый разряд (F0) установлен в 1. |
JF1 |
address |
0111 0110 адрес |
2 |
Если F1=1, (PC0-7)<-адрес Если F1=0 (PC)<-(PC)+2 |
Переход, если флаговый разряд (F1) установлен в 1. Управление программой передаётся по указанному адресу, если флаговый разряд (F1) установлен в 1. |
JT0 |
address |
0011 0110 адрес |
2 |
Если T0=1, (PC0-7)<-адрес Если T0=0 (PC)<-(PC)+2 |
Переход, если уровень TEST0 высокий. Управление программой передаётся по указанному адресу, если уровень сигнала TEST0 высокий (равен 1). |
JNT0 |
address |
0010 0110 адрес |
2 |
Если T0=0, (PC0-7)<-адрес Если T0=1 (PC)<-(PC)+2 |
Переход, если уровень TEST0 низкий. Управление программой передаётся по указанному адресу, если уровень сигнала TEST0 низкий (равен 0). |
JT1 |
address |
0101 0110 адрес |
2 |
Если T1=1, (PC0-7)<-адрес Если T1=0 (PC)<-(PC)+2 |
Переход, если уровень TEST1 высокий. Управление программой передаётся по указанному адресу, если уровень сигнала TEST1 высокий (равен 1). |
JNT1 |
address |
0100 0110 адрес |
2 |
Если T1=0, (PC0-7)<-адрес Если T1=1 (PC)<-(PC)+2 |
Переход, если уровень TEST1 низкий. Управление программой передаётся по указанному адресу, если уровень сигнала TEST1 низкий (равен 0). |
JTF |
address |
0001 0110 адрес |
2 |
Если TF=1, (PC0-7)<-адрес Если TF=0 (PC)<-(PC)+2 |
Переход, если флаговый разряд таймера установлен в 1. Управление программой передаётся по указанному адресу, если разряд флага таймера установлен в 1, т.е. регистр таймер/счётчик событий переполнен. Тестирование флагового разряда устанавливает его в 0. Переполнение запускает последовательность обслуживания прерываний, если прерывание разрешено. |
JNI |
address |
1000 0110 адрес |
2 |
Если I=0, (PC0-7)<-адрес Если I=1 (PC)<-(PC)+2 |
Переход, если на входе прерывания низкий уровень. Управление передаётся по указанному в команде адресу, если уровень входного сигнала прерывания низкий (равен 0), т.е. запрос на внешние прерывания поступил. Этот сигнал запускает последовательность обслуживания прерываний, если внешние прерывания разрешены. |
JBb |
address |
bbb1 0010 адрес |
2 |
Если Bb=1, (PC0-7)<-адрес Если Bb=0 (PC)<-(PC)+2 |
Переход, если один из разрядов A установлен в 1. Управление передаётся по указанному в команде адресу, если "b" разряд A установлен в 1. |