We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
The PC increment during "normal execution" will be 4 for ARM, and 2 or 4 for Thumb (depending if if it is a 16 or 32-bit Thumb instruction).
The modern microarchitectures are a lot more complex than the early ARM processors, so the value of PC + 8 for ARM and PC+ 4 for Thumb does not really reflect any feature of the microarchitecture any more, but you have to specify something so software can function in the same ways on all of the different processors and using the existing standard makes most sense (the old software still works).
PC, the Program CounterRegister R15 is the program counter:"¢ When executing an ARM instruction, PC reads as the address of the currentinstruction plus 8."¢ When executing a Thumb instruction, PC reads as the address of the currentinstruction plus 4."¢ Writing an address to PC causes a branch to that address.In Thumb code, most instructions cannot access PC.