【问题标题】:What's the difference between SRL and SRA? [duplicate]SRL 和 SRA 有什么区别? [复制]
【发布时间】:2019-07-04 02:09:06
【问题描述】:

使用srasrl 指令时有何变化?我无法理解两者之间的区别。使用的语言是 MIPS 汇编。

sll $t1,$t0,2
sra $t2,$t0,2

sll $t1,$t0,2
srl $t2,$t0,2

【问题讨论】:

  • 您可能想要指定您感兴趣的哪种汇编语言(可能是ARM)。世界上有 很多不同的 CPU :-)
  • 不好意思哈哈,语言其实是MIPS。
  • 如果右移从左移的结果中获取输入,则这些 sn-ps 将分别从 30 位到 32 位进行零或符号扩展。但事实并非如此,左移在两种情况下都是独立的,所以 IDK 为什么会重复。

标签: assembly mips bit-shift instructions


【解决方案1】:

SLR 是错字,应改为 SRLSRA 执行 arithmetic shiftSRL 执行 logical one。所以SRL 将移入零,而SRA 将符号位移入。例如,将 0xFFFF1234 右移逻辑上给出 0x3FFFC48D,算术上给出 0xFFFFC48D,因为符号位为 1(假设这是 MIPS32)。欲了解更多信息,请阅读

【讨论】:

  • 问题中的错字仅在标题中。也许我们应该解决这个问题。根据 MA​​RS 中的汇编程序,slr 根本不是有效的助记符。 IDK 为什么你说这是左移; MIPS 的左移是sll
猜你喜欢
  • 2013-11-26
  • 2015-11-23
  • 2013-02-13
  • 2011-04-26
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多