Turbo Assembler 3.0. Руководство пользователя


Остаточная рекурсия для методов объектов: инструкция JMP.METHOD


Турбо Ассемблер обеспечивает инструкцию JMP.METHOD, соот- ветствующую инструкции CALL.METHOD. Она имеет следующий син- таксис:

JMP указатель_экземпляра METHOD [имя_объекта:]имя_метода [USES [сегм_регистр:]регистр_смещения]

Инструкция JMP.METHOD полностью аналогична инструкции CALL.METHOD, за исключением того, что она:

- генерирует вместо инструкции CALL инструкцию JMP;

- генерирует код завершения процедуры для очистки стека пе- ред генерацией инструкции JMP.

Инструкция JMP.METHOD позволяет писать эффективный код остаточной рекурсии (tail recursion). Она предназначена для заме- ны общей ситуации, когда инструкция CALL.METHOD дается для конкретного метода с последующей инструкцией RET.



Содержание раздела