【发布时间】:2016-04-15 21:48:54
【问题描述】:
我已经阅读了这里的其他帖子,但仍有关于 PPC 和 rlwinm 的问题。
我正在看的例子是:
li r0, 0x100
clrlslwi r9, r0, 27,5 (which afaik is the same as rlwinm r9, r0,5,22,26)
首先我加载 r0 = 0x100 然后将 r0 左移 5,所以 r0 = 0x2000(没有溢出,所以不需要旋转)
使用位 22 到 26 设置掩码 = 0x3e0
AND r0 与掩码 = 0x2000 AND 0x3E0 = 0
我一定是做错了什么...这总是净 0 我错过了什么?
【问题讨论】:
-
你应该格式化你的问题(用反引号包裹内联代码段,用四个空格作为前缀代码块)并包含你遇到问题的实际代码。
-
嗯,值总是0。2-2也是。有什么问题?
-
只有我,还是 PPC 助记符方式比大多数其他架构更难破译?从编译器输出来看,大多数 insn 在 ARM asm 中的作用非常明显,甚至在我对 ARM 了解很多之前。但是 PPC 看起来就像是胡言乱语。
-
@PeterCordes:嗯,ARM 将 32 位指令中的多余位用于预测执行,PPC 使用它们使指令执行更复杂的操作。猜猜哪个 ISA 需要完全重做 64 位。
-
您的分析看起来正确。但问题是什么?