diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2026-02-03 21:42:48 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2026-02-03 21:49:34 +0100 |
| commit | 63e23a3d74d3560ee0635d32961fd9c205890f05 (patch) | |
| tree | bb0012bfe04776b206bb62dda54f7056e5446e11 | |
| parent | 186b9d5c719951f4e84048b6b4a7bc937461033e (diff) | |
| download | jetpac.nes-63e23a3d74d3560ee0635d32961fd9c205890f05.tar.gz jetpac.nes-63e23a3d74d3560ee0635d32961fd9c205890f05.zip | |
Add the __fallthrough__ pseudo-instruction
The 'nasm' assembler now implements this, which is quite
convenient. Define also a fake macro for it when the assembler is not
'nasm' just to bridge the gaps.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
| -rw-r--r-- | include/asm.s | 10 | ||||
| -rw-r--r-- | src/driver.s | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/include/asm.s b/include/asm.s index 67b195c..09229f9 100644 --- a/include/asm.s +++ b/include/asm.s @@ -20,3 +20,13 @@ .macro JAL ADDR jmp ADDR .endmacro + +;; Pseudo-instruction from 'nasm' that is not available for 'ca65'. An empty +;; implementation is actually quite accurate, as it's just a way for 'nasm' to +;; perform extra checks when programmers want to explicitly make the code fall +;; through. +.ifndef __NASM__ + .macro __fallthrough__ arg + ;; Nothing to do. + .endmacro +.endif diff --git a/src/driver.s b/src/driver.s index 60869c8..183c63f 100644 --- a/src/driver.s +++ b/src/driver.s @@ -156,8 +156,7 @@ @do_update: jsr Player::update jsr Bullets::update - JAL sprite_cycling - ;; TODO: fall through? + __fallthrough__ sprite_cycling .endproc .proc sprite_cycling |
