Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pret
GitHub Repository: pret/pokered
Path: blob/master/macros/const.asm
1270 views
1
; Enumerate constants
2
3
MACRO const_def
4
IF _NARG >= 1
5
DEF const_value = \1
6
ELSE
7
DEF const_value = 0
8
ENDC
9
IF _NARG >= 2
10
DEF const_inc = \2
11
ELSE
12
DEF const_inc = 1
13
ENDC
14
ENDM
15
16
MACRO const
17
DEF \1 EQU const_value
18
DEF const_value += const_inc
19
ENDM
20
21
MACRO const_export
22
const \1
23
EXPORT \1
24
ENDM
25
26
MACRO shift_const
27
DEF \1 EQU 1 << const_value
28
DEF const_value += const_inc
29
ENDM
30
31
MACRO const_skip
32
if _NARG >= 1
33
DEF const_value += const_inc * (\1)
34
else
35
DEF const_value += const_inc
36
endc
37
ENDM
38
39
MACRO const_next
40
if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value)
41
fail "const_next cannot go backwards from {const_value} to \1"
42
else
43
DEF const_value = \1
44
endc
45
ENDM
46
47
MACRO dw_const
48
dw \1
49
const \2
50
ENDM
51
52
MACRO rb_skip
53
IF _NARG == 1
54
rsset _RS + \1
55
ELSE
56
rsset _RS + 1
57
ENDC
58
ENDM
59
60