Annotation of OpenXM/src/kan96xx/gmp-2.0.2/mpn/m68k/syntax.h, Revision 1.1
1.1 ! maekawa 1: /* asm.h -- Definitions for 68k syntax variations.
! 2:
! 3: Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc.
! 4:
! 5: This file is part of the GNU MP Library.
! 6:
! 7: The GNU MP Library is free software; you can redistribute it and/or modify
! 8: it under the terms of the GNU Library General Public License as published by
! 9: the Free Software Foundation; either version 2 of the License, or (at your
! 10: option) any later version.
! 11:
! 12: The GNU MP Library is distributed in the hope that it will be useful, but
! 13: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
! 14: or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
! 15: License for more details.
! 16:
! 17: You should have received a copy of the GNU Library General Public License
! 18: along with the GNU MP Library; see the file COPYING.LIB. If not, write to
! 19: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
! 20: MA 02111-1307, USA. */
! 21:
! 22: #undef ALIGN
! 23:
! 24: #ifdef MIT_SYNTAX
! 25: #define PROLOG(name)
! 26: #define EPILOG(name)
! 27: #define R(r)r
! 28: #define MEM(base)base@
! 29: #define MEM_DISP(base,displacement)base@(displacement)
! 30: #define MEM_INDX(base,idx,size_suffix)base@(idx:size_suffix)
! 31: #define MEM_INDX1(base,idx,size_suffix,scale)base@(idx:size_suffix:scale)
! 32: #define MEM_PREDEC(memory_base)memory_base@-
! 33: #define MEM_POSTINC(memory_base)memory_base@+
! 34: #define L(label) label
! 35: #define TEXT .text
! 36: #define ALIGN .even
! 37: #define GLOBL .globl
! 38: #define moveql moveq
! 39: /* Use variable sized opcodes. */
! 40: #define bcc jcc
! 41: #define bcs jcs
! 42: #define bls jls
! 43: #define beq jeq
! 44: #define bne jne
! 45: #define bra jra
! 46: #endif
! 47:
! 48: #ifdef SONY_SYNTAX
! 49: #define PROLOG(name)
! 50: #define EPILOG(name)
! 51: #define R(r)r
! 52: #define MEM(base)(base)
! 53: #define MEM_DISP(base,displacement)(displacement,base)
! 54: #define MEM_INDX(base,idx,size_suffix)(base,idx.size_suffix)
! 55: #define MEM_INDX1(base,idx,size_suffix,scale)(base,idx.size_suffix*scale)
! 56: #define MEM_PREDEC(memory_base)-(memory_base)
! 57: #define MEM_POSTINC(memory_base)(memory_base)+
! 58: #define L(label) label
! 59: #define TEXT .text
! 60: #define ALIGN .even
! 61: #define GLOBL .globl
! 62: #endif
! 63:
! 64: #ifdef MOTOROLA_SYNTAX
! 65: #define PROLOG(name)
! 66: #define EPILOG(name)
! 67: #define R(r)r
! 68: #define MEM(base)(base)
! 69: #define MEM_DISP(base,displacement)(displacement,base)
! 70: #define MEM_INDX(base,idx,size_suffix)(base,idx.size_suffix)
! 71: #define MEM_INDX1(base,idx,size_suffix,scale)(base,idx.size_suffix*scale)
! 72: #define MEM_PREDEC(memory_base)-(memory_base)
! 73: #define MEM_POSTINC(memory_base)(memory_base)+
! 74: #define L(label) label
! 75: #define TEXT
! 76: #define ALIGN
! 77: #define GLOBL XDEF
! 78: #define lea LEA
! 79: #define movel MOVE.L
! 80: #define moveml MOVEM.L
! 81: #define moveql MOVEQ.L
! 82: #define cmpl CMP.L
! 83: #define orl OR.L
! 84: #define clrl CLR.L
! 85: #define eorw EOR.W
! 86: #define lsrl LSR.L
! 87: #define lsll LSL.L
! 88: #define roxrl ROXR.L
! 89: #define roxll ROXL.L
! 90: #define addl ADD.L
! 91: #define addxl ADDX.L
! 92: #define addql ADDQ.L
! 93: #define subl SUB.L
! 94: #define subxl SUBX.L
! 95: #define subql SUBQ.L
! 96: #define negl NEG.L
! 97: #define mulul MULU.L
! 98: #define bcc BCC
! 99: #define bcs BCS
! 100: #define bls BLS
! 101: #define beq BEQ
! 102: #define bne BNE
! 103: #define bra BRA
! 104: #define dbf DBF
! 105: #define rts RTS
! 106: #define d0 D0
! 107: #define d1 D1
! 108: #define d2 D2
! 109: #define d3 D3
! 110: #define d4 D4
! 111: #define d5 D5
! 112: #define d6 D6
! 113: #define d7 D7
! 114: #define a0 A0
! 115: #define a1 A1
! 116: #define a2 A2
! 117: #define a3 A3
! 118: #define a4 A4
! 119: #define a5 A5
! 120: #define a6 A6
! 121: #define a7 A7
! 122: #define sp SP
! 123: #endif
! 124:
! 125: #ifdef ELF_SYNTAX
! 126: #define PROLOG(name) .type name,@function
! 127: #define EPILOG(name) .size name,.-name
! 128: #define MEM(base)(R(base))
! 129: #define MEM_DISP(base,displacement)(displacement,R(base))
! 130: #define MEM_PREDEC(memory_base)-(R(memory_base))
! 131: #define MEM_POSTINC(memory_base)(R(memory_base))+
! 132: #ifdef __STDC__
! 133: #define R_(r)%##r
! 134: #define R(r)R_(r)
! 135: #define MEM_INDX_(base,idx,size_suffix)(R(base),R(idx##.##size_suffix))
! 136: #define MEM_INDX(base,idx,size_suffix)MEM_INDX_(base,idx,size_suffix)
! 137: #define MEM_INDX1_(base,idx,size_suffix,scale)(R(base),R(idx##.##size_suffix*scale))
! 138: #define MEM_INDX1(base,idx,size_suffix,scale)MEM_INDX1_(base,idx,size_suffix,scale)
! 139: #define L(label) .##label
! 140: #else
! 141: #define R(r)%/**/r
! 142: #define MEM_INDX(base,idx,size_suffix)(R(base),R(idx).size_suffix)
! 143: #define MEM_INDX1(base,idx,size_suffix,scale)(R(base),R(idx).size_suffix*scale)
! 144: #define L(label) ./**/label
! 145: #endif
! 146: #define TEXT .text
! 147: #define ALIGN .align 2
! 148: #define GLOBL .globl
! 149: #define bcc jbcc
! 150: #define bcs jbcs
! 151: #define bls jbls
! 152: #define beq jbeq
! 153: #define bne jbne
! 154: #define bra jbra
! 155: #endif
! 156:
! 157: #if defined (SONY_SYNTAX) || defined (ELF_SYNTAX)
! 158: #define movel move.l
! 159: #define moveml movem.l
! 160: #define moveql moveq.l
! 161: #define cmpl cmp.l
! 162: #define orl or.l
! 163: #define clrl clr.l
! 164: #define eorw eor.w
! 165: #define lsrl lsr.l
! 166: #define lsll lsl.l
! 167: #define roxrl roxr.l
! 168: #define roxll roxl.l
! 169: #define addl add.l
! 170: #define addxl addx.l
! 171: #define addql addq.l
! 172: #define subl sub.l
! 173: #define subxl subx.l
! 174: #define subql subq.l
! 175: #define negl neg.l
! 176: #define mulul mulu.l
! 177: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>