Last change
on this file since 550 was
454,
checked in by sacerdot, 9 years ago
|
CSC + Nicolas + Dominic:
1) back-porting of changes by Nicolas from the compiler
2) new file ASMCosts to compute the cost of labels
3) several changes here and there to implement 2)
|
File size:
770 bytes
|
Rev | Line | |
---|
[91] | 1 | open BitVectors;; |
---|
[88] | 2 | |
---|
[44] | 3 | exception Byte7_conversion |
---|
[28] | 4 | |
---|
[120] | 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 |
---|
[442] | 12 | val fold : (key -> byte -> 'b -> 'b) -> map -> 'b -> 'b |
---|
[448] | 13 | val equal: (byte -> byte -> bool) -> map -> map -> bool |
---|
[120] | 14 | end |
---|
| 15 | ;; |
---|
[28] | 16 | |
---|
[120] | 17 | module Byte7Map : Map with type key = byte7 |
---|
| 18 | module WordMap : Map with type key = word |
---|
| 19 | |
---|
[91] | 20 | val int_of_bit: bit -> int |
---|
[28] | 21 | |
---|
| 22 | val subb8_with_c: |
---|
[92] | 23 | byte -> byte -> bit -> byte * bit * bit * bit (* -, c, ac, ov *) |
---|
| 24 | val add8_with_c: |
---|
| 25 | byte -> byte -> bit -> byte * bit * bit * bit |
---|
[161] | 26 | val add16_with_c: |
---|
| 27 | word -> word -> bit -> word * bit * bit * bit |
---|
[92] | 28 | val dec: byte -> byte (* with roll-over *) |
---|
| 29 | val inc: byte -> byte (* with roll-over *) |
---|
[454] | 30 | |
---|
| 31 | val addr16_of_addr11: word -> word11 -> word |
---|
Note: See
TracBrowser
for help on using the repository browser.