Стандартная инструкция RET генерирует код, который соответс- твующим образом завершает текущую процедуру. Это включает в себя генерацию кода завершения процедуры, которая использует интер- фейсные соглашения языка высокого уровня. Даже если для процедуры используются соглашения NOLANGUAGE, инструкция RET в зависимости от описания процедуры (описана она как NEAR или FAR) будет гене- рировать различный код. Для процедуры NEAR Турбо Ассемблер гене- рирует дальнюю инструкцию возврата. Для процедуры FAR Турбо Ас- семблер генерирует ближнюю инструкцию возврата. (Вне процедуры всегда генерируется ближний возврат.)
Турбо Ассемблер включает в себя дополнительные инструкции, которые позволяют задавать генерацию нужных инструкций возврата (без кода завершения). Они перечислены в следующей таблице:
Инструкции возврата Таблица 13.2 ------------------T---------------------------------------------¬ ¦ Инструкция ¦ Функция ¦ +-----------------+---------------------------------------------+ ¦ RETN ¦ Всегда генерирует ближний возврат. ¦ ¦ ¦ ¦ ¦ RETNF ¦ Всегда генерирует дальний возврат. ¦ ¦ ¦ ¦ ¦ RETCODE ¦ Генерирует возврат, тип которого соответ- ¦ ¦ ¦ ствует текущей выбранной модели. Для модели ¦ ¦ ¦ TINY, SMALL, COMPACT и TPASCAL генерируется ¦ ¦ ¦ ближний возврат. Для модели MEDIUM, LARGE, ¦ ¦ ¦ HUGE и TCHUGE - дальний возврат. ¦ L-----------------+----------------------------------------------