Can someone explain what this instruction does and translate it to C?
ubfx.w r3, r11, #0xE, #1
According to the ARM reference manual, it does a “signed and unsigned bit field extract” but I’m not good with all that bitwise stuff.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
UBFX just extracts a bitfield from the source register and puts it in the least significant bits of the destination register.
The general form is:
which in C would be:
The C equivalent of the example you give would be:
i.e. r3 will be 1 if bit 14 of r11 is set, otherwise it will be 0.
See: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Cjahjhee.html