Annotation of researchv10no/cmd/sml/src/ns32/ns32coder.sig, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.