Здесь описано, какие регистры используются и для каких целей на каждом из поддерживаемых процессоров в Free Pascal. Здесь также показано, какие регистры можно использовать как временные регистры.
Версия Intel 80x86
Таблица 6.1. Регистры Intel 80x86
Общее имя регистра
|
Имя регистра процессора
|
Аккумулятор
|
EAX
|
64-разрядный аккумулятор, старшее/младшее слово
|
EDX:EAX
|
Результат с плавающей точкой
|
FP(0)
|
Регистр объектов
|
ESI
|
Указатель кадра
|
EBP
|
Указатель стека
|
ESP
|
Временные регистры
|
Недоступно
|
Версия Motorola 680x0
Таблица 6.2. Регистры Motorola 680x0
Общее имя регистра
|
Имя регистра процессора
|
Примечание
|
Аккумулятор
|
D0
|
Для совместимости с некоторыми компиляторами С, когда результат функции является указателем и объявлен в конвенции с cdecl, результат также сохраняется в регистре А0.
|
64-разрядный аккумулятор, старшее/младшее слово
|
D0:D1
|
|
Результат с плавающей точкой
|
FP0
|
При эмуляции регистров плавающей точки результат возвращается в D0.
|
Регистр объектов
|
A5
|
|
Указатель кадра
|
A6
|
|
Указатель стека
|
A7
|
|
Временные регистры
|
D0, D1, A0, A1, FP0, FP1
|
|
|