1signature assemblerML =
2sig
3   val armErr          : TextIO.outstream ref
4
5   val register2int   : Data.register -> int
6   val int2register   : int -> Data.register
7
8   val num_to_arm     : Arbnum.num -> Data.instruction
9   val arm_to_num     : Data.instruction -> Arbnum.num
10   val arm_to_string  : Arbnum.num option -> bool -> Data.instruction -> string
11   val string_to_arm  : string -> Data.instruction
12   val branch_to_arm  : Data.condition * bool * Arbnum.num ->
13                        Arbnum.num -> Data.instruction
14
15   val encode_arm             : string -> Arbnum.num
16   val decode_arm             : Arbnum.num option -> Arbnum.num -> string
17   val decode_arm_dec         : Arbnum.num option -> string -> string
18   val decode_arm_hex         : Arbnum.num option -> string -> string
19
20   val assembler_to_string    : Arbnum.num option -> Data.assembler ->
21                                string option -> string
22   val string_to_code         : string -> Data.assembler list
23   val parse_arm              : string -> Data.assembler list
24   val validate_instruction   : Data.instruction -> Data.instruction
25end
26