|
|
1.1 ! root 1: (* Copyright 1989 by AT&T Bell Laboratories *) ! 2: signature VAXCODER = sig ! 3: ! 4: eqtype Label ! 5: ! 6: val newlabel : unit -> Label ! 7: ! 8: datatype Register = reg of int ! 9: ! 10: datatype EA = direct of Register ! 11: | autoinc of Register ! 12: | autodec of Register ! 13: | displace of int * Register ! 14: | deferred of int * Register ! 15: | immed of int ! 16: | immedlab of Label ! 17: | address of Label ! 18: | index of EA * Register ! 19: ! 20: val r0 : Register ! 21: val r1 : Register ! 22: val r2 : Register ! 23: val r3 : Register ! 24: val r4 : Register ! 25: val r5 : Register ! 26: val r6 : Register ! 27: val r7 : Register ! 28: val r8 : Register ! 29: val r9 : Register ! 30: val r10 : Register ! 31: val r11 : Register ! 32: val r12 : Register ! 33: val r13 : Register ! 34: val sp : Register ! 35: val pc : Register ! 36: ! 37: val align : unit -> unit ! 38: val mark : unit -> unit ! 39: val define : Label -> unit ! 40: val emitstring : string -> unit ! 41: val realconst : string -> unit ! 42: val emitlong : int -> unit ! 43: ! 44: val emitlab : int * Label -> unit ! 45: ! 46: val jne : EA -> unit ! 47: val jbr : EA -> unit ! 48: val bbc : EA * EA * EA -> unit ! 49: val bbs : EA * EA * EA -> unit ! 50: val movl : EA * EA -> unit ! 51: val movq : EA * EA -> unit ! 52: val movb : EA * EA -> unit ! 53: val movzbl : EA * EA -> unit ! 54: val moval : EA * EA -> unit ! 55: val pushal : EA -> unit ! 56: val rsb : unit -> unit ! 57: val cmpl : EA * EA -> unit ! 58: val addl2 : EA * EA -> unit ! 59: val addl3 : EA * EA * EA -> unit ! 60: val subl2 : EA * EA -> unit ! 61: val subl3 : EA * EA * EA -> unit ! 62: val bisl3 : EA * EA * EA -> unit ! 63: val bicl3 : EA * EA * EA -> unit ! 64: val ashl : EA * EA * EA -> unit ! 65: val xorl3 : EA * EA * EA -> unit ! 66: val mull2 : EA * EA -> unit ! 67: val divl3 : EA * EA * EA -> unit ! 68: val divl2 : EA * EA -> unit ! 69: val jmp : EA -> unit ! 70: val brb : EA -> unit ! 71: val brw : EA -> unit ! 72: val beql : EA -> unit ! 73: val bneq : EA -> unit ! 74: val bgeq : EA -> unit ! 75: val bgtr : EA -> unit ! 76: val blss : EA -> unit ! 77: val bleq : EA -> unit ! 78: val sobgeq : EA * EA -> unit ! 79: ! 80: val movg : EA * EA -> unit ! 81: val mnegg : EA * EA -> unit ! 82: val addg3 : EA * EA * EA -> unit ! 83: val subg3 : EA * EA * EA -> unit ! 84: val mulg3 : EA * EA * EA -> unit ! 85: val divg3 : EA * EA * EA -> unit ! 86: val cmpg : EA * EA -> unit ! 87: ! 88: val push : EA -> unit ! 89: val pusha : EA -> unit ! 90: val pop : EA -> unit ! 91: ! 92: val comment : string -> unit ! 93: ! 94: end (* signature CODER *) ! 95: ! 96: signature VAXMCODER = ! 97: sig ! 98: structure Coder : VAXCODER ! 99: val finish : unit -> string ! 100: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.