我試圖找到一種方法,這樣做bOR $a0, $a1, $a2 else
,像在Java if(a=b||a=c){blablabla}else{blabla}
,但我不想出一個辦法做到這一點在MIPS32。任何想法?可能是OR分支mips32?
0
A
回答
0
假設你有a
在$a0
,b
在$a1
和c
在$a2
那麼你會做
beq $a0, $a1, if
beq $a0, $a2, if
bgez $zero, else
if:
.. code if a=b or a=c
bgez $zero, endif
else:
.. code otherwise
endif:
+0
它的作品,謝謝! :) – qwerty
0
它一直以來的青睞我做任何集會,但由於沒有人迴應,這是我記得的東西。我希望你接受這個答案,如果沒有其他理由,那麼我會重新爲你做最糟糕的噩夢。
做任何種類的組合邏輯的,你需要做比較,其次是條件跳轉。因此,舉例來說,一個的if/else形式的語句:
if (a == b || a == c) {
cond1
}
else {
cond2
}
cond3
被翻譯如下(僞代碼):
cmp a,b
je cond1
cmp a,c
je cond1
...
cond2:
...
jmp cond3
cond1:
...
cond3:
...
CMP比較值,乙腦是一種有條件的分支跳轉如果最後的比較顯示值相等。基本上,你使用gotos到處都是。再次,這是僞代碼,但您應該很容易找到MIPS類似物。
說到這,我發現這一點: http://jjc.hydrus.net/cs61c/handouts/loops4.pdf
+0
mmmm但我得到的問題實際上是在比較中,因爲如果只能添加2個參數以mips進行比較,因爲只有二進制答案,我可以取出b和c之外的間隔,但如果例如i說,這是無效的,當A
0
x86代碼,但它應該給一個想法。
cmp eax, ebx
je blablabla
cmp eax, ecx
jne blabla
blablabla: ; if a == b || a == c
;do your blablabla sutff here
jmp Continue
blabla: ; else
;do your blabla sutff here
Continue:
相關問題
- 1. 如何切換分支在Github上(可能是遠程分支開關)
- 2. 是否有可能將多個分支拼湊成一個分支?
- 3. 功能分支
- 4. 重命名分支可能嗎?
- 5. 如何可視化功能分支?
- 6. 跨分支參考可能嗎?
- 7. 是否可以使用SVN從分支合併到分支?
- 8. 是否有可能在本地只有分支機構在mercurial
- 9. git,是否有可能從主分支發送拉請求?
- 10. 在Jenkinsfile中籤出不同的分支是不可能的嗎?
- 11. 是否有可能使用github API檢索/構建分支樹?
- 12. 是否有可能intellij不提供正確的git分支?
- 13. 是否有可能在Bazaar中創建子分支?
- 14. 新的,可能是空的Git分支中的現有文件?
- 15. 是否有可能將SVN功能分支重新集成到不同的發行版分支中?
- 16. 旋轉主分支到功能分支
- 17. TFS分支後,可以更新分支
- 18. GitHub功能分支
- 19. 分支新功能
- 20. Mercurial,功能分支
- 21. 在mips32上加載字節
- 22. 編譯mips32時出錯
- 23. C++上運行PIC32(MIPS32)
- 24. 從另一個功能分支創建新功能分支?
- 25. 從另一個功能分支創建Git功能分支
- 26. 根據CVS中的分支名稱查找前分支標籤 - 有可能嗎?
- 27. 分佈式/多分支/網關設置芹菜可能嗎?
- 28. 「origin」是本地分支還是遠程分支之後的分支?
- 29. 我怎樣才能知道哪個分支是Mercurial的最新分支?
- 30. Git分支不能從其他分支分離
你可以寫在C(例如)的代碼,然後編譯和拆卸。 –