我正在尝试通过比较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
最佳答案
由于已将$t0
右移2位以获取4:0位中的ExcCode
,因此用于andi
的掩码应为0x1f
。在beq
中与之比较的立即数应该是4、5、9,...,而不是8、10、18,...
关于exception - mips异常处理beq无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42985623/