簡體   English   中英

MIPS32和MIPS64指令

[英]MIPS32 and MIPS64 instructions

我有以下兩個問題:

1)如果在MIPS64匯編程序中使用MIPS32指令會怎樣? MIPS64匯編器會匯編混合程序嗎?

2)MIPS64匯編程序可以匯編MIPS32匯編程序嗎? 如果是這樣,它將正確運行,即產生與具有MIPS32架構的計算機相同的輸出嗎?

非常感謝!

64位MIPS處理器具有64位寄存器,但仍執行以32位指令字編碼的指令。 例如, add $t0,$t1,$t2在32位處理器中添加32位寄存器,但同一條指令添加64位寄存器,在64位處理器中給出64位結果。 具有符號擴展支持,為MIPS32編譯的程序應在MIPS64 CPU上保持不變並正確運行。

這與使用完全不同的指令編碼的Intel x86和x64體系結構完全不同。 為x64編譯的程序根本不會在x86處理器上運行。

可以在Mips64匯編器程序中使用mips32指令。

實際上,對Mips64的更改使得舊的mips32程序應能夠以向上兼容的方式工作而不會出現任何問題。

如果您的代碼使用了正確的助記符,例如:為32位添加x,x,y為64位添加dadd x,x,y添加ori x,為32位OR注入的dori x為0xf00,為64位OR注入的0xf00

那么即使在同一程序中使用,匯編器也將自動生成正確的目標代碼。 Mips64將同時容納這兩者,並且結果正確。 Mips32(特定於)匯編器會抱怨。

如所解釋的,第二個問題的答案是“是”。

Paxym

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM