From: Lukas Krickl Date: Tue, 21 Nov 2023 17:39:28 +0000 (+0100) Subject: WIP: ld8 X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=4963898542339ea9c7e5feb3ae779c89b5591c62;p=ulas%2F.git WIP: ld8 --- diff --git a/include/ulas.h b/include/ulas.h index 2cbf545..e664f87 100644 --- a/include/ulas.h +++ b/include/ulas.h @@ -298,6 +298,10 @@ enum ulas_asmdir { ULAS_ASMDIR_INCBIN, }; +// amount of registers +#define ULAS_NR8 7 +#define ULAS_NR16 3 + enum ulas_asmregs { // r8 ULAS_REG_A = 7, diff --git a/src/ulas.c b/src/ulas.c index d6041d4..9c9bcfc 100644 --- a/src/ulas.c +++ b/src/ulas.c @@ -1392,13 +1392,14 @@ const char *ulas_asmregstr(enum ulas_asmregs reg) { return n; \ } -#define ULAS_LDR8(name, base, regleft, regright) \ - if (strncmp(ulas.tok.buf, (name), ulas.tok.maxlen) == 0) { \ - } - // parses ld r8, r8 int ulas_ldr8r8(char *dst, unsigned long max, char *name, int base, - enum ulas_asmregs regleft, enum ulas_asmregs regright) { + enum ulas_asmregs regleft) { + const char *left = ulas_asmregstr(regleft); + if (strncmp(ulas.tok.buf, (name), ulas.tok.maxlen) != 0) { + return 0; + } + return 1; } @@ -1428,7 +1429,6 @@ int ulas_asminstr(char *dst, unsigned long max, const char *line, ULAS_STATICINSTR("ei", 1, 0xFB); // 8 bit loads - ULAS_LDR8("ld", 0x40, ULAS_REG_B, ULAS_REG_B); ULASERR("Invalid instruction '%s'\n", ulas.tok.buf); return -1;