From d39723aa3bd071f685e670914ec7b4e47a7e0455 Mon Sep 17 00:00:00 2001 From: randomdude999 Date: Sun, 16 Jul 2023 03:47:38 +0300 Subject: [PATCH] allow using macro argument syntax outside macros --- src/asar/main.cpp | 4 +++- tests/macrolabels.asm | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/asar/main.cpp b/src/asar/main.cpp index ad318f41..0e499801 100644 --- a/src/asar/main.cpp +++ b/src/asar/main.cpp @@ -503,7 +503,9 @@ void assembleline(const char * fname, int linenum, const char * line) single_line_for_tracker = 1; try { - string tmp=replace_macro_args(line); + string tmp; + if(inmacro) tmp = replace_macro_args(line); + else tmp = line; clean(tmp); string out; if (numif==numtrue) resolvedefines(out, tmp); diff --git a/tests/macrolabels.asm b/tests/macrolabels.asm index 2dbb27ed..ba8e576b 100644 --- a/tests/macrolabels.asm +++ b/tests/macrolabels.asm @@ -14,6 +14,7 @@ ;`1D 80 00 ;`04 80 00 ;`04 80 00 +;`3C 61 3E org $008000 Main: @@ -49,4 +50,7 @@ org $008000 dl Main_Sub dl InMacro dl Main_InMacroSub ; Note that this is not InMacro_InMacroSub - \ No newline at end of file + + ; not exactly a test for macro labels, but close enough + db "" ; macro argument outside macro - should be left unexpanded +