Added -d/--debug and -m/--multi-pass switches to the disassembler. The latter

will make the disassembler run multiple preparation passes to find all
addresses where labels must be placed. Without -m some label addresses are
found in the final pass, where the disassembler cannot make use of them.
This commit is contained in:
Kugel Fuhr
2025-06-20 13:00:12 +02:00
parent c520455b2b
commit 4c81eacefe
7 changed files with 113 additions and 15 deletions

View File

@@ -54,8 +54,8 @@ const char CfgExt[] = ".cfg"; /* Config file extension */
/* Flags and other command line stuff */
unsigned char DebugInfo = 0; /* Add debug info to the object file */
unsigned char FormFeeds = 0; /* Add form feeds to the output? */
unsigned char MultiPass = 0; /* Run several passes to resolve labels */
unsigned char UseHexOffs = 0; /* Use hexadecimal label offsets */
unsigned char PassCount = 2; /* How many passed do we do? */
signed char NewlineAfterJMP = -1; /* Add a newline after a JMP insn? */
signed char NewlineAfterRTS = -1; /* Add a newline after a RTS insn? */
unsigned char HaveStartAddr = 0; /* Flag for start address given */