1 /* asm.h -- Definitions for x86 syntax variations.
3 Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
5 This file is part of the GNU MP Library.
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.
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.
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. */
25 #if defined (BSD_SYNTAX) || defined (ELF_SYNTAX)
27 #define MEM(base)(base)
28 #define MEM_DISP(base,displacement)displacement(R(base))
29 #define MEM_INDEX(base,index,size)(R(base),R(index),size)
31 #define INSN1(mnemonic,size_suffix,dst)mnemonic##size_suffix dst
32 #define INSN2(mnemonic,size_suffix,dst,src)mnemonic##size_suffix src,dst
34 #define INSN1(mnemonic,size_suffix,dst)mnemonic/**/size_suffix dst
35 #define INSN2(mnemonic,size_suffix,dst,src)mnemonic/**/size_suffix src,dst
38 #if defined (BSD_SYNTAX)
39 #define ALIGN(log) .align log
41 #if defined (ELF_SYNTAX)
42 #define ALIGN(log) .align 1<<(log)
49 #define MEM(base)[base]
50 #define MEM_DISP(base,displacement)[base+(displacement)]
51 #define MEM_INDEX(base,index,size)[base+index*size]
52 #define INSN1(mnemonic,size_suffix,dst)mnemonic dst
53 #define INSN2(mnemonic,size_suffix,dst,src)mnemonic dst,src
55 #define ALIGN(log) .align log
61 #define ALIGN(log) .align log,0x90