|
|
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.