datatype oper = REG of reg |
TEMP of Temp.temp |
STACKARG of int
- datatype pred = NV | NE | EQ | LT | GT | AL
+ datatype pred = NV | NE | EQ | LT | GT | LE | GE | AL
(* instructions *)
datatype opc =
MOVLIT of oper * word |
datatype oper = REG of reg |
TEMP of Temp.temp |
STACKARG of int
- datatype pred = NV | NE | EQ | LT | GT | AL
+ datatype pred = NV | NE | EQ | LT | GT | LE | GE | AL
(* instructions *)
datatype opc =
MOVLIT of oper * word |
| predname EQ = "eq"
| predname LT = "lt"
| predname GT = "gt"
+ | predname GE = "ge"
+ | predname LE = "le"
| predname AL = ""
(* gives number (color) associated with reg *)
end)
fun pp_oper (REG r) = "%" ^ (regname r)
- | pp_oper (TEMP t) = (Temp.name t) ^ (Temp.sfx (Temp.size t))
+ | pp_oper (TEMP t) = (Temp.name t)
| pp_oper (STACKARG i) = "arg#"^Int.toString i
fun pp_insn pr (MOVLIT (d, w)) = "\tmov"^pr^" "^(pp_oper d)^", #"^(Word.toString w)^"\n"