I am trying to find an exception by comparing the t0 value. I must have something wrong on the hex numbers that i compare the t0 value..do anyone know?
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
Since you've shifted $t0
2 bits to the right to get the ExcCode
in bits 4:0, the mask you use for andi
should be 0x1f
. And the immediates you compare against in beq
should be 4, 5, 9, ... instead of 8, 10, 18, ...
User contributions licensed under CC BY-SA 3.0