aboutsummaryrefslogtreecommitdiff
path: root/tests/delayed_macro_arguments.s
blob: b91ec921cc920f017d3ac4732b39e5a46acb1948 (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
.segment "HEADER"
    .byte 'N', 'E', 'S', $1A
    .byte $02
    .byte $01
    .byte $00
    .byte $00

.segment "CODE"

.macro JAL ADDR
    jmp ADDR
.endmacro

.macro DEC_MOVEMENT_X ADDR
    lda ADDR
    rts
.endmacro

.proc bounce
    rts
.endproc

.proc chase
    JAL bounce
@wait:
    DEC_MOVEMENT_X #1
    DEC_MOVEMENT_X #2
    JAL bounce
    DEC_MOVEMENT_X #3
    JAL chase
    bne @wait
    rts
.endproc

.macro NEXT_EXPLOSION_INDEX_X
    inx
    inx
    inx
.endmacro

.scope Explosions
    .proc init
    @loop:
        NEXT_EXPLOSION_INDEX_X
        bne @loop

        rts
    .endproc
.endscope