1 | exception Byte7_conversion |
---|
2 | |
---|
3 | type bit = bool |
---|
4 | type nibble = bit * bit * bit * bit |
---|
5 | type byte = nibble * nibble |
---|
6 | type byte7 = bit * bit * bit * nibble |
---|
7 | type word = byte * byte |
---|
8 | type word11 = bit * bit * bit * byte |
---|
9 | |
---|
10 | module Byte7Map : Map.S with type key = byte7 |
---|
11 | module WordMap : Map.S with type key = word |
---|
12 | |
---|
13 | val byte7_of_byte: byte -> byte7 |
---|
14 | |
---|
15 | val word_of_int: int -> word |
---|
16 | val byte7_of_int: int -> byte7 |
---|
17 | val byte_of_int: int -> byte |
---|
18 | val int_of_bit: bit -> int |
---|
19 | val int_of_byte: byte -> int |
---|
20 | val int_of_byte7: byte7 -> int |
---|
21 | val int_of_nibble: nibble -> int |
---|
22 | val byte7_of_bit: bit -> byte7 |
---|
23 | val byte_of_byte7: byte7 -> byte |
---|
24 | |
---|
25 | val (++): word -> int -> word |
---|
26 | |
---|
27 | val add8_with_c: |
---|
28 | byte -> byte -> bit -> byte * bit * bit * bit (* +, c, ac, ov *) |
---|
29 | val subb8_with_c: |
---|
30 | byte -> byte -> bit -> byte * bit * bit * bit (* -, c, ac, ov *) |
---|
31 | val dec: byte -> byte (* with roll-over *) |
---|
32 | val inc: byte -> byte (* with roll-over *) |
---|
33 | |
---|
34 | val nth_bit: int -> byte -> bit |
---|
35 | val set_nth_bit: int -> bit -> byte -> byte |
---|