commit 5b536a9
Devine Lu Linvega
·
2025-01-15 19:11:22 +0000 UTC
parent 107f9ea
Fixed nested comment bug in macros
2 files changed,
+4,
-7
+2,
-2
1@@ -28,8 +28,8 @@ WITH REGARD TO THIS SOFTWARE.
2 #define REM if(_r) uxn.rst.ptr -= 1 + _2; else uxn.wst.ptr -= 1 + _2;
3 #define INC(s) uxn.s.dat[uxn.s.ptr++]
4 #define DEC(s) uxn.s.dat[--uxn.s.ptr]
5-#define JMP(i) pc = _2 ? i : pc + (Sint8)i;
6-#define PO1(o) o = _r ? DEC(rst) : DEC(wst);
7+#define JMP(x) { if(_2) pc = x; else pc += (Sint8)x; }
8+#define PO1(o) { o = _r ? DEC(rst) : DEC(wst);}
9 #define PO2(o) { if(_r) o = DEC(rst), o |= DEC(rst) << 8; else o = DEC(wst), o |= DEC(wst) << 8; }
10 #define POx(o) { if(_2) PO2(o) else PO1(o) }
11 #define PU1(i) { if(_r) INC(rst) = i; else INC(wst) = i; }
+2,
-5
1@@ -246,10 +246,7 @@ makemacro(char *name, FILE *f, Context *ctx)
2 if(c == '%') return error_asm("Macro nested");
3 if(c == '{') depth++;
4 if(c == '}' && --depth) break;
5- if(c == '(') {
6- if(!walkcomment(f, ctx)) return 0;
7- } else
8- *dictnext++ = c;
9+ *dictnext++ = c;
10 }
11 *dictnext++ = 0;
12 return 1;
13@@ -478,7 +475,7 @@ main(int argc, char *argv[])
14 {
15 ptr = PAGE;
16 copy("on-reset", scope, 0);
17- if(argc == 2 && scmp(argv[1], "-v", 2)) return !printf("Uxnasm - Uxntal Assembler, 31 Dec 2024.\n");
18+ if(argc == 2 && scmp(argv[1], "-v", 2)) return !printf("Uxnasm - Uxntal Assembler, 15 Jan 2025.\n");
19 if(argc != 3) return error_top("usage", "uxnasm [-v] input.tal output.rom");
20 return !assemble(argv[1]) || !resolve(argv[2]) || !build(argv[2]);
21 }