A.5.127 IRET, IRETW, IRETD: Return from Interrupt
IRET ; CF [8086]
IRETW ; o16 CF [8086]
IRETD ; o32 CF [386]
IRET returns from an interrupt (hardware or software) by means of
popping IP (or EIP), CS and the flags off the stack and then continuing
execution from the new CS:IP.
IRETW pops IP, CS and the flags as 2 bytes each, taking 6 bytes off the
stack in total. IRETD pops EIP as 4 bytes, pops a further 4 bytes of
which the top two are discarded and the bottom two go into CS, and pops
the flags as 4 bytes as well, taking 12 bytes off the stack.
IRET is a shorthand for either IRETW or IRETD, depending on the default
BITS setting at the time.