summaryrefslogtreecommitdiff
path: root/asmmon.c
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2020-09-18 14:49:07 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2020-09-18 14:49:07 -0400
commiteea04e3327972f052dcfb8ae0854b77f87d3d52f (patch)
treee6c65aad43cb65eb152dc55fba1eb13efffdf7f2 /asmmon.c
parent385a621b9487456c3167f204b02cb0ea0752191d (diff)
- 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.
Diffstat (limited to 'asmmon.c')
-rw-r--r--asmmon.c6
1 files changed, 6 insertions, 0 deletions
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(':');
}