diff --git a/i386-asm.h b/i386-asm.h index 1b72633..94df608 100644 --- a/i386-asm.h +++ b/i386-asm.h @@ -220,6 +220,8 @@ ALT(DEF_ASM_OP1(seto, 0x0f90, 0, OPC_MODRM | OPC_TEST, OPT_REG8 | OPT_EA)) DEF_ASM_OP2(enter, 0xc8, 0, 0, OPT_IM16, OPT_IM8) DEF_ASM_OP0(leave, 0xc9) DEF_ASM_OP0(ret, 0xc3) + DEF_ASM_OP0(retl,0xc3) +ALT(DEF_ASM_OP1(retl,0xc2, 0, 0, OPT_IM16)) ALT(DEF_ASM_OP1(ret, 0xc2, 0, 0, OPT_IM16)) DEF_ASM_OP0(lret, 0xcb) ALT(DEF_ASM_OP1(lret, 0xca, 0, 0, OPT_IM16)) diff --git a/tests/asmtest.S b/tests/asmtest.S index 0ffb9e7..3b2c22a 100644 --- a/tests/asmtest.S +++ b/tests/asmtest.S @@ -210,8 +210,10 @@ jmp *0x1000 ljmp $0x100, $0x1000 ret +retl ret $10 +retl $10 lret