Assembler:Commands:RET

From Cheat Engine
Jump to navigation Jump to search

command ret operand

Returns from a CALL optionally removing, operand number of, bytes from the stack. This is used for POPing values passed, to the CALL, from the stack.


Transfers program control to a return address located on the top of the stack. The address is usually placed on the stack by a CALL instruction, and the return is made to the instruction that follows the CALL instruction.

The optional operand specifies the number of stack bytes to be released after the return address is popped; the default is none. This operand can be used to release parameters from the stack that were passed to the called procedure and are no longer needed. It must be used when the CALL instruction used to switch to a new procedure uses a call gate with a non-zero word count to access the new procedure. Here, the source operand for the RET instruction must specify the same number of bytes as is specified in the word count field of the call gate.

The RET instruction can be used to execute three different types of returns:

Near return
A return to a calling procedure within the current code segment (the segment currently pointed to by the CS register), sometimes referred to as an intrasegment return.
Far return
A return to a calling procedure located in a different segment than the current code segment, sometimes referred to as an intersegment return.
Inter-privilege-level far return
A far return to a different privilege level than that of the currently executing program or procedure.

c9x.me/x86/html/file_module_x86_id_280.html


Command Parameters[edit]

Parameter Description
operand The number of bytes to pop from the stack


Examples[edit]

ret
ret 4
ret 0x8

See also[edit]

External links[edit]