Микропроцессор В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 | |||||||||||