blob: 5a70d52e22db6bcd5d2aee9102dd68bffd7f814b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
val _reg_deref = "reg_deref" : forall ('a : Type). register('a) -> 'a
bitfield cr : bits(8) = {
CR0 : 7 .. 4,
LT : 7,
CR1 : 3 .. 2,
CR2 : 1,
CR3 : 0,
}
register CR : cr
bitfield dr : vector(4, inc, bit) = {
DR0 : 2 .. 3
}
register DR : dr
val main : unit -> unit effect {rreg, wreg}
function main () = {
CR->bits() = 0xFF;
print_bits("CR: ", CR.bits());
ref CR.CR0() = 0x0;
print_bits("CR: ", CR.bits());
CR->LT() = 0b1;
print_bits("CR.CR0: ", CR.CR0());
print_bits("CR: ", CR.bits());
CR->CR3() = 0b0;
print_bits("CR: ", CR.bits())
}
|