* x86id.re (str_insn): Fix #68. Based on the patch submitted but with some

other cleanups as well.
* str.asm: New test for above.

Reported by: bird-yasm@anduin.net

svn path=/trunk/yasm/; revision=1367
0.5.0rc2
Peter Johnson 19 years ago
parent 91ac655c47
commit 1d4aab4fc5
  1. 3
      modules/arch/x86/tests/Makefile.inc
  2. 4
      modules/arch/x86/tests/str.asm
  3. 0
      modules/arch/x86/tests/str.errwarn
  4. 8
      modules/arch/x86/tests/str.hex
  5. 12
      modules/arch/x86/x86id.re

@ -157,6 +157,9 @@ EXTRA_DIST += modules/arch/x86/tests/sse3.hex
EXTRA_DIST += modules/arch/x86/tests/stos.asm
EXTRA_DIST += modules/arch/x86/tests/stos.errwarn
EXTRA_DIST += modules/arch/x86/tests/stos.hex
EXTRA_DIST += modules/arch/x86/tests/str.asm
EXTRA_DIST += modules/arch/x86/tests/str.errwarn
EXTRA_DIST += modules/arch/x86/tests/str.hex
EXTRA_DIST += modules/arch/x86/tests/stringseg.asm
EXTRA_DIST += modules/arch/x86/tests/stringseg.errwarn
EXTRA_DIST += modules/arch/x86/tests/stringseg.hex

@ -0,0 +1,4 @@
[bits 32]
str [esp]
[bits 16]
str [bp]

@ -0,0 +1,8 @@
0f
00
0c
24
0f
00
4e
00

@ -1374,14 +1374,14 @@ static const x86_insn_info arpl_insn[] = {
{OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, OPT_Reg|OPS_16|OPA_Spare, 0} }
};
static const x86_insn_info str_insn[] = {
{ CPU_Hammer, MOD_GasSufW, 16, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1,
{ CPU_286|CPU_Prot, MOD_GasSufW, 16, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1,
{OPT_Reg|OPS_16|OPA_EA, 0, 0} },
{ CPU_Hammer, MOD_GasSufL, 32, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1,
{ CPU_386|CPU_Prot, MOD_GasSufL, 32, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1,
{OPT_Reg|OPS_32|OPA_EA, 0, 0} },
{ CPU_Hammer|CPU_64, MOD_GasSufQ, 64, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1,
{OPT_Reg|OPS_64|OPA_EA, 0, 0} },
{ CPU_286, MOD_Op1Add|MOD_SpAdd|MOD_GasSufW, 0, 0, 0, 2, {0x0F, 0x00, 0},
0, 1, {OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, 0, 0} }
{ CPU_Hammer|CPU_64|CPU_Prot, MOD_GasSufQ, 64, 0, 0, 2, {0x0F, 0x00, 0}, 1,
1, {OPT_Reg|OPS_64|OPA_EA, 0, 0} },
{ CPU_286|CPU_Prot, MOD_GasSufW|MOD_GasSufL, 0, 0, 0, 2, {0x0F, 0x00, 0},
1, 1, {OPT_RM|OPS_16|OPS_Relaxed|OPA_EA, 0, 0} }
};
static const x86_insn_info prot286_insn[] = {
{ CPU_286, MOD_Op1Add|MOD_SpAdd|MOD_GasSufW, 0, 0, 0, 2, {0x0F, 0x00, 0},

Loading…
Cancel
Save