From: Peter Johnson Date: Fri, 11 Jul 2003 02:18:01 +0000 (-0000) Subject: Fix bts/btr immediate operands (previously required "byte" specifier). X-Git-Tag: v0.3.0~6^2~52 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d4eba9c2233ba123924ca5d7b6370a08eaf02e05;p=yasm Fix bts/btr immediate operands (previously required "byte" specifier). Bugzilla #10 Reported by: meor@softhome.net svn path=/trunk/yasm/; revision=992 --- diff --git a/modules/arch/x86/tests/Makefile.inc b/modules/arch/x86/tests/Makefile.inc index cc1aba18..f30c8eb4 100644 --- a/modules/arch/x86/tests/Makefile.inc +++ b/modules/arch/x86/tests/Makefile.inc @@ -11,6 +11,9 @@ EXTRA_DIST += modules/arch/x86/tests/addrop.errwarn EXTRA_DIST += modules/arch/x86/tests/addrop.hex EXTRA_DIST += modules/arch/x86/tests/addrop-err.asm EXTRA_DIST += modules/arch/x86/tests/addrop-err.errwarn +EXTRA_DIST += modules/arch/x86/tests/bittest.asm +EXTRA_DIST += modules/arch/x86/tests/bittest.errwarn +EXTRA_DIST += modules/arch/x86/tests/bittest.hex EXTRA_DIST += modules/arch/x86/tests/cpubasic-err.asm EXTRA_DIST += modules/arch/x86/tests/cpubasic-err.errwarn EXTRA_DIST += modules/arch/x86/tests/div-err.asm diff --git a/modules/arch/x86/tests/bittest.asm b/modules/arch/x86/tests/bittest.asm new file mode 100644 index 00000000..62c245d4 --- /dev/null +++ b/modules/arch/x86/tests/bittest.asm @@ -0,0 +1 @@ +btr eax, 4 diff --git a/modules/arch/x86/tests/bittest.errwarn b/modules/arch/x86/tests/bittest.errwarn new file mode 100644 index 00000000..e69de29b diff --git a/modules/arch/x86/tests/bittest.hex b/modules/arch/x86/tests/bittest.hex new file mode 100644 index 00000000..fff4f078 --- /dev/null +++ b/modules/arch/x86/tests/bittest.hex @@ -0,0 +1,5 @@ +66 +0f +ba +f0 +04 diff --git a/modules/arch/x86/x86id.re b/modules/arch/x86/x86id.re index 0f8bba4a..5fb260e7 100644 --- a/modules/arch/x86/x86id.re +++ b/modules/arch/x86/x86id.re @@ -1007,11 +1007,11 @@ static const x86_insn_info bittest_insn[] = { { CPU_Hammer|CPU_64, MOD_Op1Add, 64, 2, {0x0F, 0x00, 0}, 0, 2, {OPT_RM|OPS_64|OPS_Relaxed|OPA_EA, OPT_Reg|OPS_64|OPA_Spare, 0} }, { CPU_386, MOD_Gap0|MOD_SpAdd, 16, 2, {0x0F, 0xBA, 0}, 0, 2, - {OPT_RM|OPS_16|OPA_EA, OPT_Imm|OPS_8|OPA_Imm, 0} }, + {OPT_RM|OPS_16|OPA_EA, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} }, { CPU_386, MOD_Gap0|MOD_SpAdd, 32, 2, {0x0F, 0xBA, 0}, 0, 2, - {OPT_RM|OPS_32|OPA_EA, OPT_Imm|OPS_8|OPA_Imm, 0} }, + {OPT_RM|OPS_32|OPA_EA, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} }, { CPU_Hammer|CPU_64, MOD_Gap0|MOD_SpAdd, 64, 2, {0x0F, 0xBA, 0}, 0, 2, - {OPT_RM|OPS_64|OPA_EA, OPT_Imm|OPS_8|OPA_Imm, 0} } + {OPT_RM|OPS_64|OPA_EA, OPT_Imm|OPS_8|OPS_Relaxed|OPA_Imm, 0} } }; /* Bit manipulation - bit scans - also used for lar/lsl */