簡體   English   中英

MIPS指令sll的正確語法是什么?

[英]What is the correct syntax of MIPS instruction sll?

移位金額應該是立即值,還是存儲在寄存器中的值? 兩者都有效嗎?

我有不同的網站告訴我不同​​的事情,我很困惑。

根據我的研究,sll(shift left logical)指令應該像這樣使用:

  sll $d, $t, h

這使得$ d = $ t左移h次。

我被告知h應該是一個立即值,但我想知道寄存器是否可以用作第三個參數,並且該寄存器中的值用作移位量。 那還行嗎?

你是對的。

sll是特定的,因為它是R格式指令,其中僅使用兩個寄存器,rd和rs(目標和源),並且shamt字段是立即值(常量)。

還有另一個指令sllv使用第三個寄存器,您可以在其中指定按變量(寄存器)移位。

讓我清楚一點,MIPS 32位中的Shift左邏輯具有以下語法:

SLL目的地,目標,轉移金額(應該是立即值)

在8086中,如果我們想要移位量超過1,我們必須使用寄存器來存儲移位量的值!

暫無
暫無

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

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