Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/runtime/mach-dep/x86-masm.h
ViewVC logotype

Annotation of /sml/trunk/src/runtime/mach-dep/x86-masm.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (view) (download) (as text)

1 : monnier 249 /* x86-masm.h
2 :     *
3 :     * COPYRIGHT (c) 1996 Bell Laboratories, Lucent Technologies
4 :     *
5 :     * macros that make MS MASM assembler look somewhat like unix assembler
6 :     */
7 :    
8 :     /* note: every 32-bit machine word must be treated as an MS "double word" */
9 :    
10 :     /* directives */
11 :     #define GLOBAL(ID) PUBLIC ID
12 :     #define LABEL(ID) ID:
13 :     #define ALIGN4 EVEN
14 :     #define WORD16(n,w) n WORD w
15 :     #define WORD32(n,w) n DWORD w
16 :     #define TEXT .CODE
17 :     #define DATA .DATA
18 :     #define BEGIN_PROC(P) .ent P
19 :     #define END_PROC(P) .end P
20 :    
21 :     /* operands */
22 :     #define IMMED(X) X
23 :     #define REG(x) x
24 :     #define FP_REG(x) x
25 :     #define IND_OFF(t,r,o) t PTR o [r]
26 :     #define IND_DW_OFF(r,o) IND_OFF(DWORD,r,o)
27 :     #define IND_W_OFF(r,o) IND_OFF(WORD,r,o)
28 :    
29 :     /* labels */
30 :     #define FLAB(x) x
31 :     #define BLAB(x) x
32 :     #define ANON_LAB @@
33 :     #define BLAB_ANON @b
34 :     #define FLAB_ANON @f
35 :    
36 :     /* instructions */
37 :     #define MOVL(a,b) mov b, a
38 :     #define MOVW(a,b) mov b, a
39 :     #define ADDL(a,b) add b, a
40 :     #define SUBL(a,b) sub b, a
41 :     #define SARL(a,b) sar b, a
42 :     #define SALL(a,b) sal b, a
43 :     #define SHRL(a,b) shr b, a
44 :     #define SHLL(a,b) shl b, a
45 :     #define ORL(a,b) or b, a
46 :     #define ORW(a,b) or b, a
47 :     #define ANDL(a,b) and b, a
48 :     #define ANDW(a,b) and b, a
49 :    
50 :     #define INCL inc
51 :     #define XCHGL(a,b) xchg a, b
52 :     #define PUSHL push
53 :     #define POPL pop
54 :     #define CMPL(a,b) cmp b, a
55 :     #define LEA(a,b) lea b, a
56 :     #define JMP jmp
57 :     #define JB jb
58 :     #define JGE jge
59 :     #define JNE jne
60 :     #define RET ret
61 :     #define CALL call
62 :     #define STOSL stosd
63 :    
64 :     /* fp */
65 :     #define FICOML ficom
66 :     #define FLDL fld
67 :     #define FISTPL fistp
68 :     #define FSTPL fstp
69 :     #define FISTL fist
70 :     #define FILDL fild
71 :     #define FSTCW fstcw
72 :    
73 :     /* end of x86-masm.h */
74 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0