Boris > I'm programming some assembler functions (with arm-elf-as) Let me suggest to use arm-elf-gcc to call the assembler, this allows you to use the C pre-processor. > and I want to call it from C (arm-elf-gcc). > > My assembly functions follows the ATPCS (ARM Thumb Procedure > Call Standard), but I don't sure if that is the best choice. > > 1. Should I use ATPCS or APCS (ARM Procedure Call Standard) ?. I am not aware of a difference. The RTOS I wrote just relies on the things common: r0-r3 are argument/scratch registers. r12 is used for linkage or can be used as scratch-register. > 2. Which is more efficient (from code size/speed point of view) ?. I see no difference other than the normal Thumb code limitations. > 3. Can I use APCS with Thumb code ?. The only difference I see is that you cannot easily use the r8..r12 in Thumb code. > 4. Which calling convention use by default arm-elf-gcc ?. > Should I use -matpcs option for ATPCS ?. I never used this switch, so I guess. > 5. Inline assembly is independent of calling conventions ?. Inline assembly does not depend on calling convention since the compiler build the prologue and epilogue of a function. -- 42Bastian Schick
Message
Re: [lpc2000] Calling Convention (ATPCS or APCS ?)
2006-01-18 by 42Bastian Schick
Attachments
- No local attachments were found for this message.