命令解析

命令符と命令動作を解析します。



命令動作表
命令名 演算 読み出し 書き込み 内部
転送
符数
7 6 5 4 3 2 1 0
ADD 0 0 0 1 - 加算 - - - 1
SUB 0 0 1 0 - 減算 - - - 1
AND 0 0 1 1 - 論理積 - - - 1
OR 0 1 0 0 - 論理和 - - - 1
XOR 0 1 0 1 - 排他的論理和 - - - 1
NOT 0 1 1 0 - 論理否定 - - - 1
SHU 0 1 1 1 - 上位桁移動 - - - 1
SHD 1 0 0 0 - 下位桁移動 - - - 1
MOVR 1 0 0 1 - - - - レジスタ
8桁転送
1
MOVI 1 0 1 0 - - - - 即値8桁転送 2
MOVMR 1 0 1 1 - - メモリ - - 1
MOVRM 1 1 0 0 - - - メモリ - 1
MOVPR 1 1 0 1 - - ポート - - 1
MOVRP 1 1 1 0 - - - ポート - 1
MOVRX 0 0 0 0 - 0 0 - - - レジスタ
16桁転送
1
MOVRY 0 0 0 0 - 0 1 - - - レジスタ
16桁転送
1
MOVXR 0 0 0 0 - 1 0 - - - レジスタ
16桁転送
1
MOVYR 0 0 0 0 - 1 1 - - - レジスタ
16桁転送
1
JMP 1 1 1 1 0 0 0 0 - - - 命令ポインタ
16桁転送
3
JMPC 1 1 1 1 0 0 0 1 - - - 命令ポインタ
16桁転送
3
JMPZ 1 1 1 1 0 0 1 0 - - - 命令ポインタ
16桁転送
3
JMPR 1 1 1 1 0 0 1 1 - - - 命令ポインタ
16桁転送
1
JMPRC 1 1 1 1 0 1 0 0 - - - 命令ポインタ
16桁転送
1
JMPRZ 1 1 1 1 0 1 0 1 - - - 命令ポインタ
16桁転送
1
MOVJ 1 1 1 1 0 1 1 0 - - - 分岐レジスタ
16桁転送
3
CALL 1 1 1 1 0 1 1 1 - - スタック 命令ポインタ
16桁転送
3
RET 1 1 1 1 1 0 0 0 - スタック - 命令ポインタ
16桁転送
1
PUSH 1 1 1 1 1 0 0 1 - - スタック - 1
POP 1 1 1 1 1 0 1 0 - スタック - - 1
EI 1 1 1 1 1 0 1 1 - - - - 1
DI 1 1 1 1 1 1 0 0 - - - - 1
INC 1 1 1 1 1 1 0 1 - - - - 1
DEC 1 1 1 1 1 1 1 0 - - - - 1
NOP 1 1 1 1 1 1 1 1 - - - - 1
LDSR 1 0 0 1 0 0 0 0 - - - R0 = SR 1
LDIR 1 0 0 1 0 1 0 1 - - - R0 = IR 1
STMR 1 0 0 1 1 0 1 0 - - - MR = R0 1
RETI 1 0 0 1 1 1 1 1 - スタック - 命令ポインタ16桁
状態レジスタ8桁
1
ADDC 0 0 1 1 0 0 0 0 桁上げ加算 - - - 1
SUBC 0 0 1 1 0 1 0 1 桁上げ減算 - - - 1
ROU 0 0 1 1 1 0 1 0 桁上げ
上位回転
- - - 1
ROD 0 0 1 1 1 1 1 1 桁上げ
下位回転
- - - 1
CMP 0 1 0 0 0 0 0 0 比較 - - - 1
MOVX 0 1 0 0 0 1 0 1 - - - 即値16桁転送 1
MOVY 0 1 0 0 1 0 1 0 - - - 即値16桁転送 1
MOVS 0 1 0 0 1 1 1 1 - - - 即値16桁転送 1
LDCPR 0 0 0 1 0 0 0 0 - - - R0 = CPR 1
LDDPR 0 0 0 1 0 1 0 1 - - - R0 = DPR 1
STCPR 0 0 0 1 1 0 1 0 - - - CPR = R0 1
STDPR 0 0 0 1 1 1 1 1 - - - DPR = R0 1
MOVFR 0 0 1 0 0 0 0 0 - - - R0 = RF(R2) 1
MOVRF 0 0 1 0 0 1 0 1 - - - RF(R2) = R0 1
INCR2 0 0 1 0 1 0 1 0 - - - R2 = R2 + 1 1
DECR2 0 0 1 0 1 1 1 1 - - - R2 = R2 - 1 1







先頭