From 833d9186cc4471f484259f8ca297ed08d1bd9546 Mon Sep 17 00:00:00 2001 From: Olaf Seibert Date: Thu, 14 May 2015 14:32:46 +0200 Subject: [PATCH] Make empty expressions in .byte and .word work such as .byte ,0 --- assemble_aux.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/assemble_aux.c b/assemble_aux.c index d6e5b4c..4e78d8a 100644 --- a/assemble_aux.c +++ b/assemble_aux.c @@ -642,14 +642,21 @@ int do_word( store_word(stack->top, tr, 1, 0); /* Align it */ } + cp = skipwhite(cp); + do { - EX_TREE *value = parse_expr(cp, 0); + if (cp[0] == ',') { + /* Empty expressions count as 0 */ + store_word(stack->top, tr, size, 0); + } else { + EX_TREE *value = parse_expr(cp, 0); - store_value(stack, tr, size, value); + store_value(stack, tr, size, value); - cp = skipdelim(value->cp); + cp = skipdelim(value->cp); - free_tree(value); + free_tree(value); + } } while (cp = skipdelim(cp), !EOL(*cp)); return 1;