Geoffrey Barton wrote on Thu, 15 Jul 2010:


On 14 Jul 2010, at 17:35, Jonas Maebe wrote:

To identify the code as Thumb code.

I was aware of the requirement to add one to the address of an ISR, but not to other calls.

The address of the symbol is set to an odd value so that the linker can identify the subsequent code as Thumb code.

A normal procedural call seems to assemble as a 'BL' to an even address? I must be missing something:-)

BL always goes from ARM to ARM or from Thumb to Thumb code. Therefore, the hardware does not need the extra bit in the address since the instruction encodes what kind of code is at the destination.


Jonas

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to