all repos — xyw @ e0cd8b6cf4e19116b6e536057259f01d701ca1c3

A minimal virtual machine and assembler for terminals.

Re-added support for binary numbers
h3rald h3rald@h3rald.com
Thu, 11 Dec 2025 20:31:45 +0100
commit

e0cd8b6cf4e19116b6e536057259f01d701ca1c3

parent

d48e94469de4fa42b023cf16eeb96ce571455c2d

1 files changed, 19 insertions(+), 3 deletions(-)

jump to
M xywasm.cxywasm.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] == '"') {