Search code examples
arm

ARM MRS instruction has inconsistency


Here is the instruction:enter image description here

Here is an example of one register:enter image description here

It's all good except op0(o0) is only one bit and all the different registers have two-bit op0s. Should I just drop the upper bit?


Solution

  • My understanding is that, according to the ARM documentation, the o0 field is a one bit field that determines what a complete, two bits value for op0 would be.

    That is, a value of 0 in o0 is equivalent to a value of 0b10 for op0, and a value of 1 for o0 is equivalent to a value of 0b11 for op0:

    enter image description here