PowerPC和clrlslwi -or-rlwinm指令

问题描述 投票:0回答:1

我已经在这里阅读了其他文章,但仍然对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我想念什么?

assembly powerpc
1个回答
0
投票

是的(清除左单词并立即左移单词)

clrlslwi rA,rS,b,n (n ≤ b ≤ 31) = rlwinm rA,rS,n,b – n,31 – n

所以clrlslwi r9, r0, 27,5 = rlwinm r9, r0, 5, 22(27-5), 26(31-5)

© www.soinside.com 2019 - 2024. All rights reserved.