From c1a44ed41dcf92d1567ab927d7f1675d6918aff9 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Wed, 11 Sep 2024 12:47:27 -0400 Subject: add ascii and asciiz directives, fix symtab bug --- masm/asm.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'masm/asm.c') diff --git a/masm/asm.c b/masm/asm.c index 54d766b..a9cee99 100644 --- a/masm/asm.c +++ b/masm/asm.c @@ -165,6 +165,26 @@ static int handle_directive(struct assembler *assembler, break; } + + case MIPS_DIRECTIVE_ASCII: { + struct section_entry entry; + entry.type = ENT_STR; + entry.size = strlen(directive->name); + memcpy(entry.str, directive->name, entry.size); + if (sec_push(assembler->sectab.current, entry)) + return M_ERROR; + break; + } + + case MIPS_DIRECTIVE_ASCIIZ: { + struct section_entry entry; + entry.type = ENT_STR; + entry.size = strlen(directive->name) + 1; + memcpy(entry.str, directive->name, entry.size); + if (sec_push(assembler->sectab.current, entry)) + return M_ERROR; + break; + } } return M_SUCCESS; -- cgit v1.2.3-freya