2014-05-13 28 views
0

我應該寫什麼作爲條件來比較我從鍵盤上用K寫的內容? 我想要我的代碼繼續,當我按下字母K. 這是我的代碼。MIPS中的字母條件

K1:li $v0, 4   
    la $a0, gram #message to get the letter  
    syscall 
    li $v0,5 
    syscall 
    move $t4,$v0 

    bne $t4,48h,K1 

回答

0

您應該將字母k加載到寄存器中進行比較。

MIPS組裝支撐字符文字,所以你可以這樣做:

li $t5 'k' 
bne $t4 $t5 K1 
+0

我想通了。我用系統調用12替換了系統調用5,系統調用12是讀取字符,然後比較它們。 K1:李$ V0,4 LA $ A0,革蘭氏 系統調用 李$ v0,12 系統調用 舉動$ T4,$ V0 BNE $ t4,75,K1 比較完成後至12月,因「 K'是75。 – user3247715

-2

'K' ASCII碼爲4B,所以你應該比較其中輸入字節存儲與4BH,然後繼續,如果它等於寄存器。

因此,假如註冊$t4已輸入字節的條件的輸入代碼應該是:

bne $t4,4Bh,K1 

此外,當你發佈一些體系結構相關的代碼,你可能會考慮提供什麼樣的一些線路和功能意味着額外的信息/ languague。

+0

我寫了這個,我得到語法錯誤。 – user3247715

+0

語法錯誤意味着編譯器不明白你想說什麼,這意味着你使用了一些無效的語法。與邏輯無關。檢查函數的編譯器語法。也許'cmp $ t4,4bh'' kne K1' – Nenad

+0

你寫的最後一段代碼是什麼? – user3247715