mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 05:47:26 +08:00
* config/tc-i386.c (md_assemble): In JumpByte case, when looking
for a WORD_PREFIX_OPCODE, change it to ADDR_PREFIX_OPCODE if this is jcxz.
This commit is contained in:
@ -1,11 +1,17 @@
|
|||||||
|
Tue Aug 26 12:23:25 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* config/tc-i386.c (md_assemble): In JumpByte case, when looking
|
||||||
|
for a WORD_PREFIX_OPCODE, change it to ADDR_PREFIX_OPCODE if this
|
||||||
|
is jcxz.
|
||||||
|
|
||||||
start-sanitize-v850
|
start-sanitize-v850
|
||||||
Mon Aug 25 16:04:14 1997 Nick Clifton <nickc@cygnus.com>
|
Mon Aug 25 16:04:14 1997 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
* config/tc-v850.c (pre_defined_registers): Add 'hp' as alias for
|
* config/tc-v850.c (pre_defined_registers): Add 'hp' as alias for
|
||||||
r2.
|
r2.
|
||||||
(md_begin): Set up machine architecture and type.
|
(md_begin): Set up machine architecture and type.
|
||||||
end-sanitize-v850
|
|
||||||
|
|
||||||
|
end-sanitize-v850
|
||||||
Mon Aug 25 14:25:48 1997 Ian Lance Taylor <ian@cygnus.com>
|
Mon Aug 25 14:25:48 1997 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
* symbols.c (resolve_symbol_value): Store the value back into the
|
* symbols.c (resolve_symbol_value): Store the value back into the
|
||||||
|
@ -433,7 +433,7 @@ const pseudo_typeS md_pseudo_table[] =
|
|||||||
#ifndef I386COFF
|
#ifndef I386COFF
|
||||||
{"bss", s_bss, 0},
|
{"bss", s_bss, 0},
|
||||||
#endif
|
#endif
|
||||||
#ifndef OBJ_AOUT
|
#if !defined(OBJ_AOUT) && !defined(USE_ALIGN_PTWO)
|
||||||
{"align", s_align_bytes, 0},
|
{"align", s_align_bytes, 0},
|
||||||
#else
|
#else
|
||||||
{"align", s_align_ptwo, 0},
|
{"align", s_align_ptwo, 0},
|
||||||
@ -1728,6 +1728,22 @@ md_assemble (line)
|
|||||||
{
|
{
|
||||||
if (*q == WORD_PREFIX_OPCODE)
|
if (*q == WORD_PREFIX_OPCODE)
|
||||||
{
|
{
|
||||||
|
/* The jcxz/jecxz instructions are marked with Data16
|
||||||
|
and Data32, which means that they may get
|
||||||
|
WORD_PREFIX_OPCODE added to the list of prefixes.
|
||||||
|
However, the are correctly distinguished using
|
||||||
|
ADDR_PREFIX_OPCODE. Here we look for
|
||||||
|
WORD_PREFIX_OPCODE, and actually emit
|
||||||
|
ADDR_PREFIX_OPCODE. This is a hack, but, then, so
|
||||||
|
is the instruction itself.
|
||||||
|
|
||||||
|
I don't know if there is any valid case in which we
|
||||||
|
want to emit WORD_PREFIX_OPCODE, but I am keeping
|
||||||
|
the old behaviour for safety. */
|
||||||
|
|
||||||
|
if (IS_JUMP_ON_CX_ZERO (t->base_opcode))
|
||||||
|
FRAG_APPEND_1_CHAR (ADDR_PREFIX_OPCODE);
|
||||||
|
else
|
||||||
FRAG_APPEND_1_CHAR (WORD_PREFIX_OPCODE);
|
FRAG_APPEND_1_CHAR (WORD_PREFIX_OPCODE);
|
||||||
insn_size += 1;
|
insn_size += 1;
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user