This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Program Counter update

Note: This was originally posted on 15th June 2009 at http://forums.arm.com

In the Architectural Reference Manual for ARMv7 the PC update is described such that it gets update with adding 8 to the current PC while executing an ARM instruction and adding 4 for Thumb instruction. ARM instructions are 32-bit, hence I'd expect the PC to be updated by adding 4 to it rather than 8. Does anyone knows what is the reason behind this? Am I missing something or is it a mistake?

Thanks
Parents
  • Note: This was originally posted on 25th June 2009 at http://forums.arm.com

    Correct, the ARM architecture defines the value of the PC read by any particular instruction;
    in addition it precisely defines the behavour of writing to the PC with various instructions,
    thus this isn't "risky". All processor implementations adhering to the ARM architecture must
    make this work, irrespective of their underlying micro-architecture.

    hth
    s.
Reply
  • Note: This was originally posted on 25th June 2009 at http://forums.arm.com

    Correct, the ARM architecture defines the value of the PC read by any particular instruction;
    in addition it precisely defines the behavour of writing to the PC with various instructions,
    thus this isn't "risky". All processor implementations adhering to the ARM architecture must
    make this work, irrespective of their underlying micro-architecture.

    hth
    s.
Children
No data