我已经在这里阅读了其他帖子,但仍然有关于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 :(得分: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)