1
我正在編寫一個程序來確定一個整數是偶數還是奇數。該程序首先要求用戶輸入一個整數,並根據該整數是什麼來打印「偶數」和「奇數」。我無法創建If-else語句。MIPS if-else與打印問題
該語句應該是,如果$ t2 = $ t0,則輸出「Odd」,否則輸出「Even」。這是我現在已經不工作的代碼($ T1 = 1,$ T2 =用戶與1整數AND'd,odd_str = 「奇」,even_str = 「連」):
bne $t2, $t1, L1
li $v0, 4
la $a0, odd_str
syscall
L1:
li $v0, 4
la $a0, even_str
syscall
的奇數整數的輸出是「OddEven」,偶數整數的輸出是「Even」。任何想法如何解決這一問題?
該代碼看起來爲我工作。 (輸出不正確,但代碼有效)。你也可以檢查調試器,你的代碼如何工作,以及爲什麼輸出不符合預期。但它確實有效,實際上我還沒有看到有效的機器碼,這會讓CPU拒絕執行,從來沒有發生過。它總是執行它,並執行指令指定的內容。爲了避免執行一些代碼,請不要執行它。例如跳到其他地方。對於高級程序員也很容易,不用if/else就可以創建這個任務,只需使用小指針數組,這樣代碼就只有一個exec.flow。 – Ped7g
在調試器中單步執行代碼以查看它是如何經歷的。另外請注意,除了傳遞給'syscall'的指針之外,這兩個塊是相同的,所以你可以把它分解出來。 –