]> matita.cs.unibo.it Git - pkg-cerco/acc.git/blob - src/ASM/Physical.mli
Imported Upstream version 0.2
[pkg-cerco/acc.git] / src / ASM / Physical.mli
1 open BitVectors;;
2
3 exception Byte7_conversion
4
5 module type Map =
6  sig
7   type key
8   type map
9    val empty : map
10    val find : key -> map -> byte
11    val add : key -> byte -> map -> map
12    val fold : (key -> byte -> 'b -> 'b) -> map -> 'b -> 'b
13    val equal: (byte -> byte -> bool) -> map -> map -> bool
14  end
15 ;;
16
17 module Byte7Map : Map with type key = byte7
18 module WordMap : Map with type key = word
19
20 val int_of_bit: bit -> int
21
22 val subb8_with_c:
23  byte -> byte -> bit -> byte * bit * bit * bit (* -, c, ac, ov *)
24 val add8_with_c:
25  byte -> byte -> bit -> byte * bit * bit * bit
26 val add16_with_c:
27  word -> word -> bit -> word * bit * bit * bit
28 val dec: byte -> byte (* with roll-over *)
29 val inc: byte -> byte (* with roll-over *)
30
31 val addr16_of_addr11: word -> word11 -> word