Processor mapping of registers

This indicates what registers are used for what purposes on each of the processors supported by Free Pascal. It also indicates which registers can be used as scratch registers.

Intel 80x86 version


Table 6.1: Intel 80x86 Register table


Generic register name CPU Register name


accumulator EAX
accumulator (64-bit) high / low EDX:EAX
float result FP(0)
self ESI
frame pointer EBP
stack pointer ESP
scratch regs. N/A

Motorola 680x0 version


Table 6.2: Motorola 680x0 Register table


Generic register name CPU Register name


accumulator D02
accumulator (64-bit) high / low D0:D1
float result FP03
self A5
frame pointer A6
stack pointer A7
scratch regs. D0, D1, A0, A1, FP0, FP1


3On simulated FPU’s the result is returned in D0