1load macro_test.cod
2
3# Macro test
4#
5
6echo gpsim macro test
7
8#set verbose 0xfe
9
10mac_exp macro add, mask
11  mac_flags = (mac_flags+add) & mask
12endm
13
14mac1 macro p1, p2
15 run
16 mac_exp p1, p2
17endm
18
19break e mac_loop
20
21# this should have no effect on 'mac_flags', but
22# the loop of code in macro_test.asm should increment
23# the variable 'mac_count'
24
25mac1 1, 0b00000010
26    # mac_flags=0, mac_count=0
27
28mac1 1, 0x1f
29    # mac_flags=1, mac_count=1
30mac1 2, 0x1f
31    # mac_flags=3, mac_count=2
32mac1 3, 0x1f
33    # mac_flags=6, mac_count=3
34mac1 4, 0x1f
35    # mac_flags=10, mac_count=4
36mac1 6, 0x1f
37    # mac_flags=16, mac_count=5
38
39failures = mac_flags + mac_count - 21
40
41
42