blob: aee6ee5306c5a9668df773883f83f963134651e1 (
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
|
; Enumerate variables
enum_start: macro
if _NARG >= 1
__enum__ = \1
else
__enum__ = 0
endc
if _NARG >= 2
__enumdir__ = \2
else
__enumdir__ = +1
endc
endm
enum: macro
\1 = __enum__
__enum__ = __enum__ + __enumdir__
endm
; Enumerate constants
const_def: MACRO
const_value = 0
ENDM
const: MACRO
\1 EQU const_value
const_value = const_value + 1
ENDM
shift_const: MACRO
\1 EQU 1 << const_value
const_value = const_value + 1
ENDM
|