aboutsummaryrefslogtreecommitdiff
path: root/tests/expected/bad_jal.txt
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mssola@mssola.com>2026-02-02 19:59:23 +0100
committerMiquel Sabaté Solà <mssola@mssola.com>2026-02-02 19:59:23 +0100
commit9b9ecfdedd10fd96322e231a21b9337f050b9128 (patch)
tree5fa4694dda60ec52f016755d237c7ac12f408868 /tests/expected/bad_jal.txt
parent930ad1cc4422f19251ea77a625816e3aebcc6eea (diff)
downloadtools.nes-9b9ecfdedd10fd96322e231a21b9337f050b9128.tar.gz
tools.nes-9b9ecfdedd10fd96322e231a21b9337f050b9128.zip
Warn on pointless (un)conditional branching
Sometimes performing some 'jmp'/'jsr' can be quite pointless, and the programmer might not be fully aware of this because of the layout of the code. Imagine: .proc foo ;; code jmp bar .endproc ;; Documentation, comments, extra space, etc. .proc bar ;; whatever .endproc The 'jmp' in the code above tries to perform a call stack optimization, but it's actually not needed because the next instruction after 'jmp' is the one inside of 'bar', but that's obfuscated because of the layout. In these sort of cases (and also for 'jsr' and branches) warn the programmer about it so it can remove that instruction. Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
Diffstat (limited to 'tests/expected/bad_jal.txt')
-rw-r--r--tests/expected/bad_jal.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/expected/bad_jal.txt b/tests/expected/bad_jal.txt
new file mode 100644
index 0000000..1b3f315
--- /dev/null
+++ b/tests/expected/bad_jal.txt
@@ -0,0 +1,2 @@
+warning: unconditional jump that points to the next instruction (jal.s: line 2)
+ >> expanded from bad_jal.s: line 13.