Chapter 6
Code issues

This chapter gives detailed information on the generated code by Free Pascal. It can be useful to write external object files which will be linked to Free Pascal created code blocks.


 6.1 Register Conventions
   accumulator register
   accumulator 64-bit register
   float result register
   self register
   frame pointer register
   stack pointer register
   scratch registers
   Processor mapping of registers
 6.2 Name mangling
   Mangled names for data blocks
   Mangled names for code blocks
   Modifying the mangled names
 6.3 Calling mechanism
 6.4 Nested procedure and functions
 6.5 Constructor and Destructor calls
   objects
   classes
 6.6 Entry and exit code
   Intel 80x86 standard routine prologue / epilogue
   Motorola 680x0 standard routine prologue / epilogue
 6.7 Parameter passing
   Parameter alignment
 6.8 Processor limitations