Kri*_*oks 3 arm bit-manipulation
有人可以解释这个指令的作用并将其翻译成C吗?
ubfx.w r3, r11, #0xE, #1
Run Code Online (Sandbox Code Playgroud)
根据ARM参考手册,它执行"有符号和无符号位字段提取 ",但我对所有这些按位的东西都不好.
UBFX只从源寄存器中提取一个位域,并将其放在目标寄存器的最低有效位中.
一般形式是:
UBFX dest, src, lsb, width
Run Code Online (Sandbox Code Playgroud)
在C中将是:
dest = (src >> lsb) & ((1 << width) - 1);
Run Code Online (Sandbox Code Playgroud)
你给出的例子的C等价物是:
r3 = (r11 >> 14) & 1;
Run Code Online (Sandbox Code Playgroud)
即如果r11的第14位置位,r3将为1,否则为0.
请参阅:http://infocenter.arm.com/help/index.jsp?topic =/com.arm.doc.dui0489c/Cjahjhee.html
| 归档时间: |
|
| 查看次数: |
4540 次 |
| 最近记录: |