指令格式
|
状态位的取值
|
汇编语句
|
操作数个数
|
|
|
C Z V S
|
|
|
|
|
|
|
|
|
0000 DR,SR |
* * * *
|
ADD DR,SR |
双操作数指令
|
A
组
指
令
|
0001 DR,SR |
* * * *
|
SUB DR,SR |
双操作数指令
|
0010 DR,SR |
* * * *
|
AND DR,SR |
双操作数指令
|
0011 DR,SR |
* * * *
|
CMP DR,SR |
双操作数指令
|
0100 DR,SR |
····
|
MOV DR,SR |
双操作数指令
|
1001 DR (?) |
* * * *
|
DEC |
单操作数指令
|
1010 00 DR |
*···
|
SHR DR |
单操作数指令
|
1010 01 DR |
*···
|
SHL DR |
单操作数指令
|
1010 10 I/O |
····
|
IN I/O |
单操作数指令
|
1010 11 I/O |
····
|
OUT I/O |
单操作数指令
|
1100 1XXX (DR) |
* * * *
|
INC |
单操作数指令
|
1100 X0XX(DR) |
* * * *
|
INC |
单操作数指令
|
1111 1000 |
0···
|
CLC |
无操作数指令
|
1111 1001 |
1···
|
STC |
无操作数指令
|
|
|
|
|
|
1011 00 SR |
····
|
PUSH |
单操作数指令
|
B
组
指
令
|
1011 01 DR |
····
|
POP |
单操作数指令
|
1011 10 SR |
····
|
STO |
单操作数指令
|
1011 11 DR |
····
|
LOD |
单操作数指令
|
1111 1010 |
····
|
PUSHF |
无操作数指令
|
1111 1011 |
* * * *
|
POPF |
无操作数指令
|
1101 DR |
····
|
MVD DATA |
双操作数指令
|
|
|
|
|
|
1110 1100 |
····
|
JR OFFSET |
单操作数指令
|
C
组
指
令
|
1110 1000 |
····
|
JZ OFFSET |
单操作数指令
|
1110 1001 |
····
|
JNZ OFFSET |
单操作数指令
|
1110 1010 |
····
|
JC OFFSET |
单操作数指令
|
1110 1011 |
····
|
JNC OFFSET |
单操作数指令
|
1111 1100 |
····
|
CALL |
无操作数指令
|
1111 1101 |
····
|
RET |
无操作数指令
|
|
|
|
|
|
1111 1110 (?) |
····
|
JMP |
无操作数指令
|
D
组
指
令
|
1100 0100 |
····
|
TPC |
无操作数指令
|
1100 0101 |
····
|
FPC |
无操作数指令
|
1100 0110 |
····
|
TSP |
无操作数指令
|
1100 0111 |
····
|
FSP |
无操作数指令
|
|
|
|
|
|
请注意,运算器芯片中有16个通用寄存器(累加器)R0~R15,其中:
R0~R3 用作通用寄存器,即多数双操作数指令和单操作数指令中的DR、SR;
R5,R4合起来用作16位的程序计数器PC;
R7,R6合起来用作16位的堆栈指针SP;
R9,R8合起来用作16位的内存地址;
R11,R10合起来用作16位的转移指令的地址或子程序调用指令的入口地址;
R13,R12用于保存PC的副本,R15,R14用于保存SP的副本;
成对使用的寄存器中,奇数、偶数编号的寄存器分别存16位数据的高低8位部分。
|
|