Микропроцессор В1801ВМ1 архитектура и система команд
Рефераты >> Программирование и компьютеры >> Микропроцессор В1801ВМ1 архитектура и система команд

Если условие выполняется, то (PC) <= (PC) + (2 x NN)

000400 + XXX BR безусловный переход

001000 + XXX BNE нет равенства ( нулю ) Z=0

001400 + XXX BEQ равенство ( нулю ) Z=1

102000 + XXX BVC арифм.переп. отсутствует V=0

102400 + XXX BVS произошло арифм.переп. V=1

103000 + XXX BCC перенос отсутствует C=0

103400 + XXX BCS произошел перенос С=1

Переход по знаку

100000 + XXX BPL знак плюс N=0

100400 + XXX BMI знак минус N=1

002000 + XXX BGE больше или равно (нулю) N\\V=0

002400 + XXX BLT меньше (нуля) N\\V=1

003000 + XXX BGT больше (нуля) Z\/(N\\V)=0

003400 + XXX BLE меньше или равно(нулю) Z\/(N\\V)=1

Переход без знака

101000 + XXX BHI больше C\/Z=0

101400 + XXX BLOS меньше или равно C\/Z=1

103000 + XXX BHIS больше или равно C=0

103400 + XXX BLO меньше C=1

Одно-операторные команды

Код операции (КОП)

DD

15

               

6

5

       

0

Условные обозначения: «*»=0 операции над словами

1 операции над байтами

N Z C V

0003DD SWAB перестановка байтов * * 0 0

*050DD CLR(B) очистка (d) <=0 0 1 0 0

*051DD COM(B) побитная инверсия (d) <= (|d) * * 0 0

*052DD INC(B) прибавление 1 (d) <=(d)+1 * * *-

*053DD DEC(B) вычитание 1 (d) <=(d)+1 * * *-

*054DD NEG(B) изменение знака (d) <=-(d) * * * *

*055DD ADC(B) прибавить перенос (d)<=(d)+C * * * *

*056DD SBC(B) вычесть перенос (d)<=(d)-C * * * *

*057DD TST(B) проверка (d)<=(d) * * 0 0

*060DD ROR(B) циклич. сдвиг вправо => C,d * * * *

*061DD ROL(B) циклич. сдвиг влево C,d <= * * * *

*062DD ASR(B) арифм. сдвиг вправо (d)<=(d)/2 * * * *

*063DD ASL(B) арифм. сдвиг влево (d)<=(d)*2 * * * *

*067DD SXT расширить знак N=0 (d)<=0 0 1 0- N=1 (d)<=177777 1 0 0-

Двух операторные команды

КОП

SS

DD

15

   

12

11

       

6

5

       

0

N S V C

*1SSDD MOV(B) переслать (d)<=(s) * * 0-

*2SSDD CMP(B) сравнить (s)-(d) * * * *

*3SSDD BIT(B) проверить разряды (s)/\(d) * * 0 -

*4SSDD BIC(B) очистить разряды (d)<=(|s)/\(d) * * 0 -

*5SSDD BIS(B) установить разряды (d)<=(s)\/(d) * * 0 -

06SSDD ADD сложить (d)<=(s)+(d) * * * *

074RSS XOR исключающее или (s)<= (r )\\(s) * * 0 -

16SSDD SUB вычесть (d)<=(d)-(s) * * * *

Операции с разрядами PSW

Базовый КОП =240

0/1

N

Z

V

C

15

           

6

7

   

4

3

2

1

0

Очистить

         

000241 CLC C

 

-

-

-

0

000242 CLV V

 

-

-

0

-

000244 CLZ Z

 

-

0

-

-

000250 CLN N

 

0

-

-

-

000257 CCC N Z V C

 

0

0

0

0

Установить

         

000261 SEC C

 

-

-

-

1

000262 SEV V

 

-

-

1

-

000264 SEZ Z

 

-

1

-

-

000270 SEN N

 

1

-

-

-

000277 SCC N Z V C

 

1

1

1

1


Страница: