Re-added support for binary numbers
h3rald h3rald@h3rald.com
Thu, 11 Dec 2025 20:31:45 +0100
1 files changed,
19 insertions(+),
3 deletions(-)
jump to
M
xywasm.c
→
xywasm.c
@@ -345,8 +345,24 @@ return -1;
} } xyw_dbg("Hex number:\t%s\t(%04X)\n", token, value); - } - else + } else if (token[0] == '%') + { + for (i = 1; i < token_length; i++) + { + char c = token[i]; + value <<= 1; + if (c == '1') + { + value |= 1; + } + else if (c != '0') + { + token_error("Invalid binary digit"); + return -1; + } + } + xyw_dbg("Binary number:\t%s\t(%04X)\n", token, value); + } else { token_error("Invalid number."); return -1;@@ -670,7 +686,7 @@ else if (token[0] == '.')
{ return process_directive(ctx); } - else if (token[0] == '$' || token[0] == '"') + else if (token[0] == '$' || token[0] == '%' || token[0] == '"') { if (token[0] == '"') {