|
|
1.1 ! root 1: /* Definitions for Sequent Intel 386 using GAS. ! 2: Copyright (C) 1992 Free Software Foundation, Inc. ! 3: ! 4: /* Mostly it's like a Sequent 386 without GAS. */ ! 5: ! 6: #include "i386/sequent.h" ! 7: ! 8: /* A C statement or statements which output an assembler instruction ! 9: opcode to the stdio stream STREAM. The macro-operand PTR is a ! 10: variable of type `char *' which points to the opcode name in its ! 11: "internal" form--the form that is written in the machine description. ! 12: ! 13: GAS version 1.38.1 doesn't understand the `repz' opcode mnemonic. ! 14: So use `repe' instead. */ ! 15: ! 16: #undef ASM_OUTPUT_OPCODE ! 17: #define ASM_OUTPUT_OPCODE(STREAM, PTR) \ ! 18: { \ ! 19: if ((PTR)[0] == 'r' \ ! 20: && (PTR)[1] == 'e' \ ! 21: && (PTR)[2] == 'p') \ ! 22: { \ ! 23: if ((PTR)[3] == 'z') \ ! 24: { \ ! 25: fprintf (STREAM, "repe"); \ ! 26: (PTR) += 4; \ ! 27: } \ ! 28: else if ((PTR)[3] == 'n' && (PTR)[4] == 'z') \ ! 29: { \ ! 30: fprintf (STREAM, "repne"); \ ! 31: (PTR) += 5; \ ! 32: } \ ! 33: } \ ! 34: } ! 35: ! 36: /* Define macro used to output shift-double opcodes when the shift ! 37: count is in %cl. Some assemblers require %cl as an argument; ! 38: some don't. ! 39: ! 40: GAS requires the %cl argument, so override i386/unix.h. */ ! 41: ! 42: #undef AS3_SHIFT_DOUBLE ! 43: #define AS3_SHIFT_DOUBLE(a,b,c,d) AS3 (a,b,c,d) ! 44: ! 45: /* Print opcodes the way that GAS expects them. */ ! 46: #define GAS_MNEMONICS 1
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.