2009-04-15 58 views

回答

4

你會做一個按位,並與0x08和0x40(假設位0是最低位)。您可以使用andi指令來執行此操作。

如果$ to是要測試的值:

andi $t1, $t0, 0x08 
andi $t2, $t0, 0x40 

$ T1將是非零值,如果第3位設置,$ T2將是非零值,如果第6位設置。

4

是的,按位運算符是你使用的。您可以使用僅設置位3和位6的位掩碼。然後做一個比較爲零。

像(我還沒有在很長一段時間做彙編程序):

用於測試在MIPS組件中的單個位
and  r2, r1, 0x48 # r2 = r1 & 0x48 
cmp  r2, 0x48 
jz  zzzzzz #jmp to zzzzz if bits 6 and 3 are set 
+0

我不做mips,但如果設置了位3 *或* 6,那麼不會跳轉嗎? – dmckee 2009-04-15 02:18:47

2

的一種技術是所希望的比特移位到最顯著比特位置與使用bltz/bgez來測試位的狀態。這可以在不能使用andi指令選擇所需位的情況下保存指令。

相關問題