[fpc-devel] arm embedded cortexm3 procedure address
Jonas Maebe
jonas.maebe at elis.ugent.be
Wed Jul 14 18:35:54 CEST 2010
Geoffrey Barton wrote on Wed, 14 Jul 2010:
> the resulting constant disassembles as:-
>
> 1bc: 000001a5 .word 0x000001a5
>
> which seems to be one greater than the address of the procedure.
> Is this right?
Yes.
> If so, why?
To identify the code as Thumb code.
> also, why does the compiler sometimes add a 'nop' to the end of a
> procedure (as above)?
The default alignment of routines is 4 bytes. And it's most likely the
assembler or linker that adds the nop, rather than the compiler.
Jonas
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
More information about the fpc-devel
mailing list