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