В следующей таблице приведен обзор того, как результаты возвращаются из функции в программу. Для более подробной информации насчет каждого типа, читайте соответствующий раздел.
| Тип Дельфи | Результат | Размер |
| ShortInt | al | 8-битное значение |
| SmallInt | ax | 16-битное значение |
| LongInt | EAX | 32-битное значение |
| Byte | al | Значение типа байт |
| Word | ax | Значение типа слово |
| Dword | EAX | Значение типа двойное слово |
| Int64 | EDX:EAX | 64-битное значение |
| Boolean | al | Значение типа байт |
| ByteBool | al | Значение типа байт |
| WordBool | ax | Значение типа слово |
| LongBool | EAX | Значение типа двойное слово |
| Char | al | Значение типа байт |
| AnsiChar | al | Значение типа байт |
| WideChar | ax | Значение типа слово |
| ShortString | Указатель в Result (1) | 32-битный указатель |
| AnsiString | Указатель в Result (1) | 32-битный указатель |
| WideString | Указатель в Result (1) | 32-битный указатель |
| Variant | Указатель в Result (1) | 32-битный указатель |
| Pointers | EAX | 32-битный указатель |
| Objects | EAX | 32-битный указатель |
| Class and Class reference | EAX | 32-битный указатель |
| Procedure pointer | EAX | 32-битный указатель |
| Method pointers | Указатель в Result (2) | 2 x 32-битных указателя |
| Sets | EAX или Result (3) | Непосредственно или как 32-битный указатель (3) |
| Records | EAX или Result (3) | Непосредственно или как 32-битный указатель (3) |
| Static Arrays | EAX или Result (3) | Непосредственно или как 32-битный указатель (3) |
| Dynamic arrays | Указатель в Result (1) | 32-битный указатель |
| Single | ST(0) | n/a |
| Double | ST(0) | n/a |
| Extended | ST(0) | n/a |
| Real48 | ST(0) | n/a |
| Currency | ST(0) (4) | n/a |
(1) Переменная Result в действительности передается в функцию, как дополнительный var параметр. Эта переменная Result содержит 32-битный указатель на область результата в памяти. Подлинное местонахождение зависит от типа использованного соглашения о вызове: Для соглашения register это может быть EAX, EDX или ECX, в зависимости от количества переданных параметров. В других случаях Result это 32-битный указатель на стеке.
(2) Переменная Result указывает на адрес памяти где расположены два 32-битных указателя. Этот указатель передается так, как если бы он был действительно объявлен, и его точное местонахождение зависит от типа используемого соглашения о вызове.
(3) Если подлинный тип помещается в 32 бита, то он возвращается напрямую через регистр al/ax/EAX. Иначе, Result содержит 32-битный указатель на переменную памяти, и он передается в функцию, как если бы он был объявлен как дополнительный 32-битный var параметр. Этот параметр (точное местонахождение зависит от типа использованного соглашения о вызове) должен содержать указатель на действительные данные в памяти
(4) Значение в ST(0) является маштабированным значением (x10000). Для примера, значение 5,8745 возвращается как 58745.