首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MIPS指令sll的正确语法是什么?

MIPS指令sll的正确语法是什么?
EN

Stack Overflow用户
提问于 2015-10-22 23:08:05
回答 2查看 3.8K关注 0票数 1

移位量应该是即时值,还是存储在寄存器中的值?两者都有用吗?

我有不同的网站告诉我不同的事情和困惑。

根据我的研究,sll (移位左逻辑)指令应该这样使用:

代码语言:javascript
复制
  sll $d, $t, h

这使得$d = $t左移h倍。

我被告知h应该是一个即时值,但我想知道是否可以使用寄存器作为第三个参数,而寄存器中的值用作移位量。这样也行吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-22 23:22:27

你是对的。

sll是特定的,因为它是一个R格式指令,其中只使用两个寄存器,rd和rs (目标和源),而shamt字段是一个直接值(一个常量)。

还有另一个指令sllv,它使用第三个寄存器,您可以在其中指定shift by变量(寄存器)。

票数 4
EN

Stack Overflow用户

发布于 2017-02-26 18:33:47

让我澄清MIPS 32位中的点左移逻辑有以下语法:

SLL目标,目标,移位量(应该是即时值)

在哪里,如在8086,如果我们想要移动数量超过1,我们必须使用一个寄存器来存储值的移位量!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33292261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档