2
誰かがこの命令の内容を説明し、それをC言語に翻訳できますか?ARMビットフィールド抽出?
ubfx.w r3, r11, #0xE, #1
は、ARMのリファレンスマニュアルによれば、「符号付きと符号なしのビットフィールド抽出」を行いますが、私はすべてがビット単位のものとよくありませんよ。
誰かがこの命令の内容を説明し、それをC言語に翻訳できますか?ARMビットフィールド抽出?
ubfx.w r3, r11, #0xE, #1
は、ARMのリファレンスマニュアルによれば、「符号付きと符号なしのビットフィールド抽出」を行いますが、私はすべてがビット単位のものとよくありませんよ。
UBFXはソースレジスタからビットフィールドを抽出し、デスティネーションレジスタの最下位ビットに配置します。
一般的な形式は次のとおりです。
UBFX dest, src, lsb, width
Cにされるであろう:
dest = (src >> lsb) & ((1 << width) - 1);
あなたが与える例のC当量は次のようになります。
r3 = (r11 >> 14) & 1;
すなわちr3の意志r11のビット14がセットされている場合は1、そうでない場合は0になります。
参照:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cjahjhee.html