logo
Полный текст учебника

Команда выхода из подпрограммы

RET — возврат из процедуры (return from procedure). Команда извлекает из стека адрес возврата и возвращает управление из процедуры, вызванной ранее командой CALL. Необязательный параметр команды RET указывает количество байтов, которые освобождаются в стеке после извлечения адреса возврата. Если процедура имеет атрибут near, то команда RET извлекает из стека одно слово и заносит его в регистр IP; если процедура имеет атрибут far, то команда RET извлекает из стека два слова: сначала смещение адреса, а затем адрес сегмента, и заносит их, соответственно, в регистр IP и в регистр CS. Флаги не меняются.

Процедуры могут быть вложенными, глубина вложения допускается любая (ограничивается лишь емкостью стека).