我做了一些研究,但似乎找不到答案。很可能是因为我不太清楚该怎么说。
如果我有以下代码
for (i = 0; i < 10; i++) {
x = y >> i
...
}有没有一种方法可以实现y >> i指令而不需要另一个循环?
我知道这不起作用,但假设我存储在$s1中的值是这样的
srl $t3, $s5, $s1与之相反,必须将$t3设置为$s5的值,然后遍历此语句
srl $t3, $t3, 1希望这是合理的。
基本上,我想要y*2^-我每次都要遍历for循环。
谢谢你的帮助,甚至只是关于这是一个dup问题的一些指责,我可以读到这充满羞耻,并得到一个答案。
发布于 2015-10-24 08:31:03
针对程序员的MIPS32 32™体系结构第二卷:MIPS32 32™指令集列出以下移位指令:
SLL移位字左逻辑SLLV移位字左逻辑变量SRA移位字右算法SRAV移位字右算术变量SRL移位字右逻辑SRLV移位字右逻辑变量你感兴趣的是那些名字中含有变量的人,它们的工作方式如下:
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范围内。
https://stackoverflow.com/questions/33312597
复制相似问题