1
我正在創建一些使用Microblaze彙編語言的代碼,我不知道如何加載一個32位數的通用寄存器。我經歷了指令集,但只看到了可以加載的16位立即值。如何加載一個32位值到註冊與microblaze程序集
有人可以提供一個如何做到這一點的例子。
我可以用
shi r8 r0 %0 /* where %0 is to the top 16 bits of a variable */
then shift it ?
and then load r8 bottom bytes?
我很困惑。任何幫助將我指向正確的方向將是巨大的。
谷歌說, Microblaze是一款32位RISC架構。一個32位常量將佔用一個完整的指令字,不會留下任何操作碼或目標位。所以像所有其他固定指令大小的體系結構一樣,您將需要多個指令。大多數國際檢索單位都有專門針對此的一對說明,這可以使上半部分和下半部分合並起來變得容易。彙編程序通常有一個僞操作,它需要一個32位精靈併發出這兩個指令。但我對Microblaze沒有任何具體的瞭解。 –