指令的種類 |
助記符 |
功能 |
運算指令
| ADD A,num |
把數值num加到寄存器A的值上 |
ADD A,reg |
把寄存器reg的值加到寄存器A的值上 |
SUB num |
從寄存器A的值中減去數值num |
SUB reg |
從寄存器A的值中減去寄存器reg的值 |
INC reg |
將寄存器reg的值加1 |
DEC reg |
將寄存器reg的值減1 |
AND num |
計算寄存器A的值和數值num的邏輯積 |
AND reg |
計算寄存器A的值和寄存器reg的值得邏輯積 |
OR num |
計算寄存器A的值和數值num的邏輯和 |
OR reg |
計算寄存器A的值和寄存器reg的值的邏輯和 |
XOR num |
計算寄存器A的值和數值num的邏輯異或 |
XOR reg |
計算寄存器A的值和寄存器reg的值的邏輯異或 |
SLA reg |
對寄存器reg的值進行算數左移運算 |
SRA reg |
對寄存器reg的值進行算術右移運算 |
SRL reg |
對寄存器reg的值進行邏輯右移運算 |
CP num |
比較寄存器A的值和數值num的大小 |
CP reg |
比較寄存器A的值和寄存器reg的值的大小 |
內存與CPU之間的輸入輸出指令 |
LD reg,num |
把數值num寫入到寄存器reg中 |
LD reg1,reg2 |
把寄存器reg2的值寫入到寄存器reg1中 |
LD (num),reg |
把寄存器reg的值寫入到地址num上 |
LD (reg1),reg2 |
把寄存器reg2的值寫入到存放在寄存器reg1中的地址上 |
PUSH reg |
把寄存器reg的值寫入到棧中 |
POP reg |
把由棧頂讀出的數據存放到寄存器reg中 |
I/O與CPU之間的輸入輸出指令 |
IN A,(num) |
從地址num中讀出數據,存放到寄存器A中 |
IN reg,(C) |
從存儲在寄存器C中地址上讀出數據,存放到寄存器reg中 |
OUT (num),A |
把寄存器A的值寫入到地址num中 |
OUT (C),reg |
把寄存器reg的值寫入到存儲在寄存器C中的地址上 |
程序流程控制指令 |
JP num |
使程序的流程跳轉到地址num上,接下來從那個地址上的指令開始執行 |
CALL num |
調用存放在地址num上的子例程 |
RET |
從子例程中返回 |
HALT |
中止CPU的運行 |