extldi 指令有什么作用? (PowerPC)

What does the extldi instruction do? (PowerPc)

我不明白指令 extldi。我想要计算的确切操作是:

r12 = 0xB070

extldi    r11, r12, 31,17

我查看了许多不同的文档来源,但似乎找不到足够好的示例来让我理解它;我不想给我答案,而是想要一个解释,以便将来有所帮助。

提前致谢。

extldirldicr的扩展助记符,即Rotate Left Doubleword 立即清除 Right

extldi Rx,Ry,n,b 等同于 rldicr Rx,Ry,b,n-1

可以通过查阅 PowerPC 体系结构书籍,版本 2.02 找到其他信息,可用 here


编辑 - 关于rldicr的更多信息:

Rotate the contents of a general purpose register left by the number of bits specified by an immediate value. Clear a specified number of low-order bits. Place the results in another general purpose register.

rldicr有四个参数:

  • RA 指定结果的目标通用寄存器 指令。
  • RS 指定源通用寄存器包含 操作数。
  • SH 指定操作的(立即)移位值。
  • ME 指定掩码的结束值(位数) 操作。

注意:此指令仅为 64 位实现定义。在 32 位实现上使用它会导致调用系统非法指令错误处理程序。

根据您的情况,您只需插入数字即可。希望这次编辑能让您满意。