|
|
1.1 ! root 1: (* Copyright 1989 by AT&T Bell Laboratories *) ! 2: signature M68CODER = sig ! 3: ! 4: eqtype Label ! 5: ! 6: val newlabel : unit -> Label ! 7: ! 8: datatype Register = DataReg of int ! 9: | AddrReg of int ! 10: | FloatReg of int ! 11: | PC ! 12: ! 13: datatype Size = Byte | Word | Long ! 14: ! 15: datatype EA = Direct of Register ! 16: | PostInc of Register ! 17: | PreDec of Register ! 18: | Displace of Register * int ! 19: | Index of Register * int * Register * Size ! 20: | Immedlab of Label ! 21: | Immed of int ! 22: | Abs of int ! 23: | Address of Label ! 24: ! 25: val d0 : Register ! 26: val d1 : Register ! 27: val d2 : Register ! 28: val d3 : Register ! 29: val d4 : Register ! 30: val d5 : Register ! 31: val d6 : Register ! 32: val d7 : Register ! 33: val a0 : Register ! 34: val a1 : Register ! 35: val a2 : Register ! 36: val a3 : Register ! 37: val a4 : Register ! 38: val a5 : Register ! 39: val a6 : Register ! 40: val sp : Register ! 41: val fp0 : Register ! 42: val fp1 : Register ! 43: val fp2 : Register ! 44: val fp3 : Register ! 45: val fp4 : Register ! 46: val fp5 : Register ! 47: val fp6 : Register ! 48: val fp7 : Register ! 49: ! 50: val align : unit -> unit ! 51: val mark : unit -> unit ! 52: val define : Label -> unit ! 53: val emitstring : string -> unit ! 54: val realconst : string -> unit ! 55: val emitlong : int -> unit ! 56: ! 57: val emitlab : int * Label -> unit ! 58: ! 59: val rts : unit -> unit ! 60: val exg : (EA * EA) -> unit ! 61: val movl : (EA * EA) -> unit ! 62: val orl : (EA * EA) -> unit ! 63: val andl : (EA * EA) -> unit ! 64: val eorl : (EA * EA) -> unit ! 65: val addl : (EA * EA) -> unit ! 66: val subl : (EA * EA) -> unit ! 67: val cmpl : (EA * EA) -> unit ! 68: val btst : (EA * EA) -> unit ! 69: val pea : EA -> unit ! 70: val lea : (EA * EA) -> unit ! 71: val jne : EA -> unit ! 72: val jeq : EA -> unit ! 73: val jra : EA -> unit ! 74: val jbsr : EA -> unit ! 75: ! 76: val jgt : EA -> unit ! 77: val jge : EA -> unit ! 78: val jlt : EA -> unit ! 79: val jle : EA -> unit ! 80: val asrl : EA * EA -> unit ! 81: val asll : EA * EA -> unit ! 82: val divl : EA * EA -> unit ! 83: val mull : EA * EA -> unit ! 84: val movb : EA * EA -> unit ! 85: ! 86: val fjne : EA -> unit ! 87: val fjeq : EA -> unit ! 88: val fjgt : EA -> unit ! 89: val fjge : EA -> unit ! 90: val fjlt : EA -> unit ! 91: val fjle : EA -> unit ! 92: ! 93: val fcmpd : EA * EA -> unit ! 94: val faddd : EA * EA -> unit ! 95: val fsubd : EA * EA -> unit ! 96: val fmuld : EA * EA -> unit ! 97: val fdivd : EA * EA -> unit ! 98: val fnegd : EA * EA -> unit ! 99: val fmoved : EA * EA -> unit ! 100: ! 101: val trapv : unit -> unit ! 102: val trapmi : unit -> unit ! 103: ! 104: val exg : EA * EA -> unit ! 105: ! 106: val push : EA -> unit ! 107: val pusha : EA -> unit ! 108: val pop : EA -> unit ! 109: ! 110: val comment : string -> unit ! 111: ! 112: end (* signature CODER *) ! 113: ! 114: signature M68MCODER = ! 115: sig ! 116: structure Coder : M68CODER ! 117: val finish : unit -> string ! 118: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.