0
我知道如何將常規MIPS代碼轉換爲機器語言,但是如何將僞指令轉換爲機器代碼?例如僞分支指令ble(分支不太平等)。我無法在mips參考表中找到ble的操作碼。我如何翻譯它? 我試圖將ble解析成兩條正則指令, ble $ t0,$ t1,L >> sub $ t0,$ t0,$ t1 blez $ t0,L 然後將這兩條指令翻譯成機器碼。這看起來是對的嗎?請幫助...將mips僞指令轉換爲機器代碼
我知道如何將常規MIPS代碼轉換爲機器語言,但是如何將僞指令轉換爲機器代碼?例如僞分支指令ble(分支不太平等)。我無法在mips參考表中找到ble的操作碼。我如何翻譯它? 我試圖將ble解析成兩條正則指令, ble $ t0,$ t1,L >> sub $ t0,$ t0,$ t1 blez $ t0,L 然後將這兩條指令翻譯成機器碼。這看起來是對的嗎?請幫助...將mips僞指令轉換爲機器代碼
我花了幾分鐘的時間嘗試查找一些列出MIPS程序集中所有僞指令及其翻譯的文檔,但無法取得成功。
取而代之的是,this link似乎有足夠的信息來實現這個想法。
爲了解決您的ble $rt, $rs, LABEL
僞指令的具體例子,我認爲,正確的翻譯成正確的指令是:
slt $at, $rs, $rt
beq $at, $zero, LABEL
這裏當然$at
是彙編程序保留的寄存器 - 對於這樣的情況下, 。
非常感謝你,我現在明白了。有很多方法可以正確翻譯?只要翻譯的功能與ble相同? – user3330872
可能有不止一種方式來做到這一點,但當然你正在尋找儘可能快的方法。很高興聽到我幫助你,如果它爲你工作,請接受回答:) –