|
|
1.1 root 1: (* Copyright 1989 by AT&T Bell Laboratories *)
2: signature NS32CODER = sig
3:
4: eqtype Label
5:
6: val newlabel : unit -> Label
7:
8: datatype Register = Genreg of int
9: | FloatReg of int
10: | FP
11: | SP
12: | SB
13: | PC
14:
15: datatype Size = Byte | Word | Long
16:
17: datatype EA = Direct of Register
18: | Topofstack
19: | Displace of int * Register
20: | Immed of int
21: | Immedlab of Label
22: | Abs of int
23: | OffAddress of Label * int
24: | Index of EA * Register * Size
25:
26: val r0 : Register
27: val r1 : Register
28: val r2 : Register
29: val r3 : Register
30: val r4 : Register
31: val r5 : Register
32: val r6 : Register
33: val r7 : Register
34: val fp : Register
35: val sp : Register
36: val sb : Register
37: val pc : Register
38: val fp0 : Register
39:
40: val align : unit -> unit
41: val mark : unit -> unit
42: val define : Label -> unit
43: val emitstring : string -> unit
44: val realconst : string -> unit
45: val emitlong : int -> unit
46:
47: val emitlab : int * Label -> unit
48:
49: val lprl : EA * EA -> unit
50: val sprl : EA * EA -> unit
51: val tbit : EA * EA -> unit
52: val bfs : EA -> unit
53: val movl : EA * EA -> unit
54: val movql : EA * EA -> unit
55: val movb : EA * EA -> unit
56: val movzbl : EA * EA -> unit
57: val lea : EA * EA -> unit
58: val addl : EA * EA -> unit
59: val subl : EA * EA -> unit
60: val negl : EA * EA -> unit
61: val ashl : EA * EA -> unit
62: val andl : EA * EA -> unit
63: val orl : EA * EA -> unit
64: val xorl : EA * EA -> unit
65: val coml : EA * EA -> unit
66: val mull : EA * EA -> unit
67: val divl : EA * EA -> unit
68: val jump : EA -> unit
69: val beq : EA -> unit
70: val bne : EA -> unit
71: val bge : EA -> unit
72: val bgt : EA -> unit
73: val blt : EA -> unit
74: val ble : EA -> unit
75: val cmpl : EA * EA -> unit
76:
77: val movg : EA * EA -> unit
78: val negg : EA * EA -> unit
79: val addg : EA * EA -> unit
80: val subg : EA * EA -> unit
81: val mulg : EA * EA -> unit
82: val divg : EA * EA -> unit
83: val cmpg : EA * EA -> unit
84:
85: val comment : string -> unit
86:
87: end (* signature NS32CODER *)
88:
89: signature NS32MCODER =
90: sig
91: structure Coder : NS32CODER
92: val finish : unit -> string
93: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.