assemblyarmthumbimmediate-operandinstruction-encoding

ARMv7 T3 encoding for adds


enter image description here I can't tell how to determine the following:

i, 10th bit on the left.

imm3, what's the difference for this one with imm8?


Solution

  • The fields i and imm3 apply a transformation to the imm8 constant in order to generate more 32 bit constants. Here is the official documentation which sadly doesn't explain much. There is also a post on The Old New Thing about it.

    Edit: The link to the documentation is for ARMv7-A but you find identical text in ARMv7-M reference section A5.3.2