写出ADD SUB AND STA LDA JMP STP IRET MOV、OR、NOT、DIV、RSH、XOR、OUT、IN这十六个指令的类别,格式,助记符,寻址方式和说明
时间: 2023-07-04 18:15:18 浏览: 203
ARM 指令的分类、格式、寻址方式
指令 | 类别 | 格式 | 助记符 | 寻址方式 | 说明
--- | --- | --- | --- | --- | ---
ADD | 算术指令 | 1 1 1 0 0 0 0 0 | ADD | 寄存器直接寻址 | 将指定寄存器与另一个寄存器中的值相加,并将结果存储在指定寄存器中。
SUB | 算术指令 | 1 1 1 0 0 0 0 1 | SUB | 寄存器直接寻址 | 将指定寄存器与另一个寄存器中的值相减,并将结果存储在指定寄存器中。
AND | 逻辑指令 | 1 1 1 0 0 0 1 0 | AND | 寄存器直接寻址 | 将指定寄存器与另一个寄存器中的值进行按位与操作,并将结果存储在指定寄存器中。
OR | 逻辑指令 | 1 1 1 0 0 0 1 1 | OR | 寄存器直接寻址 | 将指定寄存器与另一个寄存器中的值进行按位或操作,并将结果存储在指定寄存器中。
NOT | 逻辑指令 | 1 1 1 0 0 1 0 0 | NOT | 寄存器直接寻址 | 将指定寄存器中的值进行按位取反操作,并将结果存储在指定寄存器中。
DIV | 算术指令 | 1 1 1 0 0 1 0 1 | DIV | 寄存器直接寻址 | 将指定寄存器与另一个寄存器中的值相除,并将结果存储在指定寄存器中。
RSH | 逻辑指令 | 1 1 1 0 0 1 1 0 | RSH | 寄存器直接寻址 | 将指定寄存器中的值进行右移操作,并将结果存储在指定寄存器中。
LDA | 数据传输指令 | 1 1 1 0 1 0 0 0 | LDA | 直接寻址 | 将指定地址中的值加载到指定寄存器中。
STA | 数据传输指令 | 1 1 1 0 1 1 0 0 | STA | 直接寻址 | 将指定寄存器中的值存储到指定地址中。
JMP | 转移指令 | 1 1 1 1 0 0 0 0 | JMP | 直接寻址 | 无条件跳转到指定地址。
STP | 系统指令 | 1 1 1 1 0 0 0 1 | STP | 无操作数 | 停止程序执行。
IRET | 转移指令 | 1 1 1 1 0 0 1 0 | IRET | 无操作数 | 从中断返回到主程序。
MOV | 数据传输指令 | 1 1 1 1 0 1 0 0 | MOV | 寄存器直接寻址 | 将一个寄存器中的值传送到另一个寄存器中。
XOR | 逻辑指令 | 1 1 1 1 0 1 0 1 | XOR | 寄存器直接寻址 | 将指定寄存器与另一个寄存器中的值进行按位异或操作,并将结果存储在指定寄存器中。
IN | 输入输出指令 | 1 1 1 1 1 0 0 0 | IN | 直接寻址 | 从输入端口读取数据,并将其存储到指定寄存器中。
OUT | 输入输出指令 | 1 1 1 1 1 1 0 0 | OUT | 直接寻址 | 将指定寄存器中的值输出到输出端口。
阅读全文