RET Return from procedure Not a real instruction. The assembler will translate these to a RETN or a RETF depending on the memory model of the target system.
RET实际上是汇编器解释的RETN和RETF中的一种,正如引用中所说,RET不是一个真正的指令。
而RETN和RETF的区别在于,RETN是单纯的POP IP,而RETF不仅POP IP,也会POP CS,因此前者被称为“Return from near procedure”,而后者称为“Return from far procedure”。
Near Return的操作码是C3;
Far Return的操作码是CB;
无论是哪种返回方式,在32位Flat Mode下汇编常用的是Near Return(与Flat Mode的寻址方式有关),所以反汇编引擎会将RET翻译为RETN,而不必用到RETF。