mips异常处理beq无法正常工作

时间:2017-03-23 19:44:55

标签: exception error-handling exception-handling mips

我试图通过比较t0值来找到异常。我必须在我比较t0值的十六进制数字上有问题。有人知道吗?

sw $v0 save0

mfc0 $t0 $13
srl $t0 $0 2
andi $t0 $t0 0x7c

beq $t0 0x00000008 bad_address_load
beq $t0 0x0000000a bad_address_store
beq $t0 0x00000012 break_instruction
beq $t0 0x00000014 bad_instruction
beq $t0 0000000018 overflow
beq $t0 0x0000001a trap_instruction
j else

1 个答案:

答案 0 :(得分:0)

由于您已将$t0 2位向右移动以获得位{4}的ExcCode,因此用于andi的掩码应为{{1} }。你在0x1f中与之比较的即时数应该是4,5,9 ......而不是8,10,18 ......