diff --git a/include/asm/main.h b/include/asm/main.h index bfd92251..4e74e6eb 100644 --- a/include/asm/main.h +++ b/include/asm/main.h @@ -8,6 +8,7 @@ struct sOptions { char binary[2]; SLONG fillchar; bool verbose; + bool haltnop; //-1 == random }; diff --git a/src/asm/asmy.y b/src/asm/asmy.y index fa00cc5f..b4837652 100644 --- a/src/asm/asmy.y +++ b/src/asm/asmy.y @@ -1,7 +1,6 @@ %{ #include #include -#include #include #include #include @@ -18,8 +17,6 @@ #include "asm/main.h" #include "asm/lexer.h" -extern bool haltnop; - char *tzNewMacro; ULONG ulNewMacroSize; @@ -1264,7 +1261,7 @@ z80_ex : T_Z80_EX T_MODE_HL comma T_MODE_SP_IND z80_halt: T_Z80_HALT { out_AbsByte(0x76); - if (haltnop) { + if (CurrentOptions.haltnop) { out_AbsByte(0x00); } } diff --git a/src/asm/main.c b/src/asm/main.c index e6232b03..84340bd7 100644 --- a/src/asm/main.c +++ b/src/asm/main.c @@ -7,7 +7,6 @@ #include #include -#include #include #include #include @@ -30,8 +29,6 @@ void setuplex(void); * */ -bool haltnop; - clock_t nStartClock, nEndClock; SLONG nLineNo; ULONG nTotalLines, nPass, nPC, nIFDepth, nErrors; @@ -260,7 +257,7 @@ main(int argc, char *argv[]) char *tzMainfile; - haltnop = true; + if (argc == 1) PrintUsage(); @@ -275,6 +272,7 @@ main(int argc, char *argv[]) DefaultOptions.binary[1] = '1'; DefaultOptions.fillchar = 0; DefaultOptions.verbose = false; + DefaultOptions.haltnop = true; opt_SetCurrentOptions(&DefaultOptions); @@ -303,7 +301,7 @@ main(int argc, char *argv[]) } break; case 'h': - haltnop = false; + newopt.haltnop = false; break; case 'i': fstk_AddIncludePath(optarg);