2017-03-23 5 views
0

t0の値を比較して例外を見つけようとしています。私は16進数に何か間違っている必要があります。私はt0の値を比較します。誰でも知っていますか?mips例外処理が動作しない

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 

答えて

0

あなたはビット4でExcCodeを取得する権利を$t0 2ビットシフトしたので:0、あなたはandiに使用するマスクは0x1fでなければなりません。 beqで比較する直前の値は、8,10,18、...の代わりに4,5,9、...となります。