summaryrefslogtreecommitdiff
path: root/js/src/lirasm/tests/cond_led.in
blob: 3596169ee1483468b92ec340d2e84f2c8dd79c80 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
; A few utility constants .
sh0 = immi 0
sh1 = immi 1
sh2 = immi 2
sh3 = immi 3
sh4 = immi 4
sh5 = immi 5
sh6 = immi 6
sh7 = immi 7
sh8 = immi 8

i0 = immd 0
i1 = immd 1
i2 = immd -1

; ----------------------------------------------------------------------------
; Combinations of 'led'.
le0 = led i0 i0 ; 1
le1 = led i0 i1 ; 1
le2 = led i0 i2 ; 0
le3 = led i1 i0 ; 0
le4 = led i1 i1 ; 1
le5 = led i1 i2 ; 0
le6 = led i2 i0 ; 1
le7 = led i2 i1 ; 1
le8 = led i2 i2 ; 1

; Aggregate the results.
le0sh = lshi le0 sh0
le1sh = lshi le1 sh1
le2sh = lshi le2 sh2
le3sh = lshi le3 sh3
le4sh = lshi le4 sh4
le5sh = lshi le5 sh5
le6sh = lshi le6 sh6
le7sh = lshi le7 sh7
le8sh = lshi le8 sh8

le0_1 = ori le0sh le1sh
le2_3 = ori le2sh le3sh
le4_5 = ori le4sh le5sh
le6_7 = ori le6sh le7sh

le0_3 = ori le0_1 le2_3
le4_7 = ori le4_5 le6_7

le0_7 = ori le0_3 le4_7

le = ori le0_7 le8sh

; The result should be {0001,1101,0011}, 0x1d3, or 194.

reti le