leavew

Destroy 16-bit stack frame

Dismantles a frame using a 16-bit saved frame pointer.

186 and later

Intel's reference: LEAVE

CFPFAFZFSFDFOF –––––––
  • Changes no flag

Forms

  • leavew

In 64-bit mode it sets rsp from rbp, then pops two bytes into bp, advancing rsp by 2. It leaves flags unchanged. This is distinct from the normal 64-bit leave / leaveq form.

global _start

section .text
_start:
        mov rax, 12
        mov rbx, 5
        mov rcx, 3
        mov rsi, 9

        leavew

        mov rax, 60         ; syscall 60: exit
        xor rdi, rdi
        syscall