新浪博客

MIPS汇编指令格式与寻址方式

2010-10-11 16:37阅读:
MIPS的寻址方式
1、MIPS硬件只支持一种寻址模式,即:寄存器基地址 + 立即数偏移量,且offset必须在-32768~32767之间(16位),任何载入和存储机器指令都可以写成:
lw $1,offset($2)
可以使用任何寄存器作为目的操作数或源操作数。


2、但是,MIPS汇编器可以利用合成指令来支持多种寻址方式,这些寻址方式包括:
直接寻址(Direct):由数据标号或者外部变量名寻址;
直接+索引(Direct+index):偏移量加上由寄存器指定的标号地址;
常数(Constant):32位常数;
寄存器间接(Register Indirect):寄存器+偏移量(其中偏移量为0).
3、另外,MIPS对数据的访问还有一种称为“全局指针gp相对寻址”的技术。

MIPS的指令格式
MIPS只有三种指令格式:
1、R(register)类型的指令。该类型指令从寄存器堆(register file)中读取两个源操作数,计算结果写回寄存器堆。

op rs rt rd shamt
funct
6bit 5bit 5bit 5bit 5bit 6bit

2、I(immediate)类型的指令。该类型指令使用一个16位的立即数作为一个源操作数。
op rs rt Address/Immediate
6bit 5bit 5bit 16bit
3、J(jump)类型的指令。该类型指令使用一个26位的立即数作为跳转的目标地址(target address)。

op target-address
6bit 26bit



参考资料:
1、《See MIPS run》;
2、http://wenku.baidu.com/view/66672a07e87101f69e319526.html 指令系统与寻址方式



我的更多文章

下载客户端阅读体验更佳

APP专享