diff options
author | pikalaxalt <PikalaxALT@gmail.com> | 2016-06-21 09:52:00 -0400 |
---|---|---|
committer | pikalaxalt <PikalaxALT@gmail.com> | 2016-06-21 09:52:00 -0400 |
commit | dc48fd153a0ed7a9236da657f72a7b7fde4034fd (patch) | |
tree | 4fcdaecf5f52fab634bf57e2a43ac6f750f0e191 /macros | |
parent | b0e462675fbb88ec029d43846a9d70dcdb801e27 (diff) |
Implement macros for engine flags
Diffstat (limited to 'macros')
-rwxr-xr-x | macros/flag.asm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/macros/flag.asm b/macros/flag.asm new file mode 100755 index 00000000..c2b307f0 --- /dev/null +++ b/macros/flag.asm @@ -0,0 +1,45 @@ +engine_flag_def: macro + const \1 +\1_ADDR EQUS "\2" +\1_BIT EQU \3 +endm + +engine_flag: macro + dwb \1_ADDR, (1 << \1_BIT) +endm + +CheckFlag: macro + ld a, [\1_ADDR] + bit \1_BIT, a +endm + +CheckFlagHL: macro + ld hl, \1_ADDR + bit \1_BIT, [hl] +endm + +SetFlag: macro + ld hl, \1_ADDR + set \1_BIT, [hl] +endm + +ClearFlag: macro + ld hl, \1_ADDR + res \1_BIT, [hl] +endm + +CheckFlagForceReuseA: macro + bit \1_BIT, a +endm + +CheckFlagForceReuseHL: macro + bit \1_BIT, [hl] +endm + +SetFlagForceReuseHL: macro + set \1_BIT, [hl] +endm + +ClearFlagForceReuseHL: macro + res \1_BIT, [hl] +endm |