[fpc-devel] arm embedded cortexm3 procedure address

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Jul 15 11:22:54 CEST 2010

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.


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

More information about the fpc-devel mailing list