From eea04e3327972f052dcfb8ae0854b77f87d3d52f Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Fri, 18 Sep 2020 14:49:07 -0400 Subject: - Added support for structs, and unions to the emulator's assembler. - Make the symbol table a doublely linked list, in both ways. - Optimized the memcopy() function. - Changed the benchmark timing, to now use a timer, and stops once the timer reaches zero. When the timer hits zero, it sends SIGALRM to the main function, which tells the emulator that the benchmark is done. --- asmmon.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'asmmon.c') diff --git a/asmmon.c b/asmmon.c index 6b71ac3..eac72d5 100644 --- a/asmmon.c +++ b/asmmon.c @@ -203,10 +203,16 @@ void list(uint16_t start, uint16_t end, uint8_t all, uint8_t ln, uint8_t addr, u break; case TOK_SYM: case TOK_LABEL: + case TOK_STRUCT: + case TOK_UNION: + case TOK_MEMBER: if (t->type == 1) { putchar('@'); } printf("%s", (t->sym) ? t->sym->name : "unknown"); + if (t->sym && t->sym->isstruct && t->next && t->next->id == TOK_SYM) { + putchar('.'); + } if (t->id == TOK_LABEL) { putchar(':'); } -- cgit v1.2.3-13-gbd6f