121
#define C(entrypoint) entrypoint
122
#define L(label) L##label
124
#ifdef ASM_UNDERSCORE
125
#define C(entrypoint) _##entrypoint
126
#define L(label) L##label
128
#define C(entrypoint) entrypoint
129
#define L(label) .L##label
143
#ifdef ASM_UNDERSCORE
150
#if defined (BSD_SYNTAX) || defined (ELF_SYNTAX)
158
#define MEM(base)(R(base))
159
#define MEM_DISP(base,displacement)displacement(R(base))
160
#define MEM_INDEX(base,index)(R(base),R(index))
161
#define MEM_SHINDEX(base,index,size)(R(base),R(index),size)
162
#define MEM_DISP_SHINDEX0(displacement,index,size)displacement(,R(index),size)
163
#define MEM_DISP_SHINDEX(base,displacement,index,size)displacement(R(base),R(index),size)
164
#define INDIR(value)*value
165
#define INSNCONC(mnemonic,size_suffix)mnemonic##size_suffix
166
#define INSN1(mnemonic,size_suffix,dst)INSNCONC(mnemonic,size_suffix) dst
167
#define INSN2(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix) src,dst
168
#define INSN2MOVX(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix##l) src,dst
169
#if defined(BSD_SYNTAX) || defined(COHERENT)
170
#define INSN2SHCL(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix) R(cl),src,dst
173
#define INSN2SHCL(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,size_suffix) src,dst
177
#if defined(BSD_SYNTAX) && !(defined(__CYGWIN32__) || defined(__MINGW32__))
178
#define ALIGN(log) .align log,0x90
180
#if defined(ELF_SYNTAX) || defined(__CYGWIN32__) || defined(__MINGW32__)
181
#define ALIGN(log) .align 1<<log
187
#define ADDR(a) OFFSET a
192
#define MEM(base) [base]
193
#define MEM_DISP(base,displacement) [base+(displacement)]
194
#define MEM_INDEX(base,index) [base+index]
195
#define MEM_SHINDEX(base,index,size) [base+index*size]
196
#define MEM_DISP_SHINDEX0(displacement,index,size) [(displacement)+index*size]
197
#define MEM_DISP_SHINDEX(base,displacement,index,size) [base+(displacement)+index*size]
198
#define INDIR(value)value
199
#define INSNCONC(mnemonic,suffix)mnemonic##suffix
200
#define INSN1(mnemonic,size_suffix,dst)mnemonic dst
201
#define INSN2(mnemonic,size_suffix,src,dst)mnemonic dst,src
202
#define INSN2MOVX(mnemonic,size_suffix,src,dst)INSNCONC(mnemonic,x) dst,src
203
#define INSN2SHCL(mnemonic,size_suffix,src,dst)mnemonic dst,src,R(cl)
206
#define movsl movs R(eax)
207
#define stosl stos R(eax)
208
#define scasl scas R(eax)
214
#define ALIGN(log) .align log
228
#define GLOBL(name) .globl name
233
#define DECLARE_FUNCTION(name)
234
#elif defined(__svr4__) || defined(__ELF__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly) || defined(__ROSE__) || defined(_SEQUENT_) || defined(DGUX) || defined(_SCO_COFF) || defined(_SCO_ELF)
235
#define DECLARE_FUNCTION(name) .type C(name),@function
237
#define DECLARE_FUNCTION(name)
246
#define FUNBEGIN(name) __declspec(naked) void name () { __asm {
249
#define FUNBEGIN(name) C(name##:)