首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量的MIPS srl

变量的MIPS srl
EN

Stack Overflow用户
提问于 2015-10-23 22:56:47
回答 1查看 6.9K关注 0票数 0

我做了一些研究,但似乎找不到答案。很可能是因为我不太清楚该怎么说。

如果我有以下代码

代码语言:javascript
复制
for (i = 0; i < 10; i++) {
    x = y >> i
    ...
}

有没有一种方法可以实现y >> i指令而不需要另一个循环?

我知道这不起作用,但假设我存储在$s1中的值是这样的

代码语言:javascript
复制
srl $t3, $s5, $s1

与之相反,必须将$t3设置为$s5的值,然后遍历此语句

代码语言:javascript
复制
srl $t3, $t3, 1

希望这是合理的。

基本上,我想要y*2^-我每次都要遍历for循环。

谢谢你的帮助,甚至只是关于这是一个dup问题的一些指责,我可以读到这充满羞耻,并得到一个答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-24 08:31:03

针对程序员的MIPS32 32™体系结构第二卷:MIPS32 32™指令集列出以下移位指令:

  • SLL移位字左逻辑
  • SLLV移位字左逻辑变量
  • SRA移位字右算法
  • SRAV移位字右算术变量
  • SRL移位字右逻辑
  • SRLV移位字右逻辑变量

你感兴趣的是那些名字中含有变量的人,它们的工作方式如下:

代码语言:javascript
复制
SLLV rd, rt, rs :  rd ← rt << rs
SRAV rd, rt, rs :  rd ← rt >> rs (arithmetic)
SRLV rd, rt, rs :  rd ← rt >> rs (logical)

只使用低阶5位的rs,使您的移动量在0-31范围内。

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

https://stackoverflow.com/questions/33312597

复制
相关文章

相似问题

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