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

I need an explication to the ARMv6 manual

Hello.
I downloaded the ARMv6 manual and there are a few things that I don't understand.
"For an ARM instruction, the value read [from the program counter] is the adress of the instruction plus 8 bytes. Bits [1:0] of this value are always zero, because ARM instructions are always word-aligned."
So why it is "the adress + 8"? If the instruction has 4 bytes, it would be the "next next" instruction, wouldn't it?
And which bits are the [1:0]? (Could you show me in a manner like this: 11010001b ?)
And the phrase right below the previous one:

"For a Thumb instruction set, the value read is the adress of the instruction plus 4 bytes. Bit [0] of this value is always zero, because Thumb instructions are always halfword-aligned."

Again, why "adress plus 4" and what is the "Bit [0]".
Thanks for reading.

0