2015-04-13 21:30:51 -07:00
|
|
|
; Enumerate variables
|
|
|
|
|
2017-12-28 04:23:44 -08:00
|
|
|
enum_start: MACRO
|
2015-04-13 21:30:51 -07:00
|
|
|
if _NARG >= 1
|
|
|
|
__enum__ = \1
|
|
|
|
else
|
|
|
|
__enum__ = 0
|
|
|
|
endc
|
|
|
|
if _NARG >= 2
|
|
|
|
__enumdir__ = \2
|
|
|
|
else
|
|
|
|
__enumdir__ = +1
|
|
|
|
endc
|
2017-12-28 13:31:16 -08:00
|
|
|
ENDM
|
2015-04-13 21:30:51 -07:00
|
|
|
|
2017-12-28 04:23:44 -08:00
|
|
|
enum: MACRO
|
2015-04-13 21:30:51 -07:00
|
|
|
\1 = __enum__
|
|
|
|
__enum__ = __enum__ + __enumdir__
|
2017-12-28 13:31:16 -08:00
|
|
|
ENDM
|
2015-04-13 21:30:51 -07:00
|
|
|
|
2017-12-28 04:23:44 -08:00
|
|
|
enum_set: MACRO
|
2015-10-30 07:34:35 -07:00
|
|
|
__enum__ = \1
|
2017-12-28 13:31:16 -08:00
|
|
|
ENDM
|
2015-10-30 07:34:35 -07:00
|
|
|
|
2015-04-13 21:30:51 -07:00
|
|
|
|
|
|
|
; Enumerate constants
|
|
|
|
|
|
|
|
const_def: MACRO
|
2018-01-31 08:38:45 -08:00
|
|
|
if _NARG >= 1
|
|
|
|
const_value = \1
|
|
|
|
else
|
2015-04-13 21:30:51 -07:00
|
|
|
const_value = 0
|
2018-01-31 08:38:45 -08:00
|
|
|
endc
|
2015-04-13 21:30:51 -07:00
|
|
|
ENDM
|
|
|
|
|
|
|
|
const: MACRO
|
|
|
|
\1 EQU const_value
|
|
|
|
const_value = const_value + 1
|
|
|
|
ENDM
|
2015-07-12 21:16:35 -07:00
|
|
|
|
|
|
|
shift_const: MACRO
|
2015-07-25 11:25:37 -07:00
|
|
|
\1 EQU (1 << const_value)
|
2015-07-12 21:16:35 -07:00
|
|
|
const_value = const_value + 1
|
|
|
|
ENDM
|
2018-01-09 21:08:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
; Enumerate strings
|
|
|
|
|
|
|
|
define: MACRO
|
|
|
|
if !DEF(\1)
|
|
|
|
\1 EQUS \2
|
|
|
|
endc
|
|
|
|
ENDM
|