2014-02-01 2 views
0

Как увеличить счетчик программ с помощью инструкции MIPS? У меня есть код ниже:Инкремент счетчика программ по адресу филиала

if (R[rs] > 0) 
    R[rs] = R[rs] - 1 
else 
    PC = PC + 4 - Branch Address 

До сих пор я думаю, что это работает:

slt $t0, $rs, $rt #This is a pseudoinstruction translation for R[rs] > 0 
bne $t0, $zero, ELSE 
add $rs, $rs, -1 #add -1 to $rs to decrement 
Else: 
        #do something here: Maybe jump to branch address? jr branch address How to get branch address? 
+0

Почему бы не поставить метку между BNE и ADD и сразу же использовать J LABEL после метки ELSE? –

ответ

0
slt $t0, $rs, $rt #This is a pseudoinstruction translation for R[rs] > 0 
bne $t0, $zero, Else 
add $rs, $rs, -1 #add -1 to $rs to decrement 
b endif 
Else: 
# do the else 
endif: 
# rest of the program 
Смежные вопросы