Когда написанная на языке Турбо Паскаль функция завершает
свою работу, она передает значение результата обратно в вызываю-
щую программу. Для всех скалярных типов кроме вещественного зна-
чение передается через регистр АХ. Для булевской переменной дол-
жен также устанавливаться флажок нуля: единичное значение
означает булевское значение "истина", а нулевое значение означает
булевское значение "ложь". При передачи указателей сегмент пере-
дается в регистр DX, а смещение передается в регистр АХ. Вещест-
венные переменные передаются в виде DX:BX:AX, причем в регистр DX
помещается старшее слово, а в регистр АХ помещается младшее сло-
во.
При передаче в качестве результата символьных строк, масси-
вов и записей адрес значения передается в виде DX:AX. Результат
функции помещается сразу за адресом возврата. На рис.20 показан
вид стека при вызове функции.
+----------------------+
¦ Параметры ¦
¦ . . . ¦
+----------------------¦
Вершина стека ---- ¦ Адрес возврата ¦
+----------------------¦
¦ ¦
¦ ¦
+----------------------+
Рис.20. Вид стека при вызове функции