mips指令beq指令
时间: 2025-01-07 19:39:54 浏览: 91
MIPS 架构中的 BEQ 指令
功能描述
BEQ(Branch if Equal)指令用于条件分支。当两个寄存器的内容相等时,程序计数器 PC 将跳转到指定的目标地址继续执行。
指令格式
BEQ 属于 I 型指令,其通用格式如下:
opcode | rs | rt | immediate |
---|---|---|---|
6 bits | 5 bits | 5 bits | 16 bits |
其中:
opcode
是操作码,对于 BEQ 来说固定为000100
。rs
和rt
表示要比较的源寄存器编号。immediate
是一个有符号偏移量,用来计算目标地址[^4]。
执行过程
- 取出寄存器
rs
和rt
的值; - 如果两者相同,则更新 PC 寄存器为目标地址;否则按顺序执行下一条指令;
- 新的 PC 地址 = 当前PC + 4 + (
immediate
<< 2),即当前指令后的下一个指令位置加上四字节对齐后的偏移量。
使用实例
下面是一个简单的汇编代码片段展示如何使用 BEQ 指令:
beq $s1, $s2, label # 若$s1等于$s2则跳至label处执行
label:
addi $t0, $zero, 1 # 跳转到这里后设置$t0=1
此段代码会判断 $s1
是否等于 $s2
,若是则跳过中间部分直接到达标签 label
处执行后续语句。
相关推荐


















