all repos — xyw @ d48e94469de4fa42b023cf16eeb96ce571455c2d

A minimal virtual machine and assembler for terminals.

Fixes
h3rald h3rald@h3rald.com
Thu, 11 Dec 2025 14:29:59 +0100
commit

d48e94469de4fa42b023cf16eeb96ce571455c2d

parent

4bec4241719d73c97b5a9e24dd4edfb2ec5e66b6

1 files changed, 2 insertions(+), 2 deletions(-)

jump to
M xywrun.cxywrun.c

@@ -300,8 +300,8 @@ /* BRK */ case 0x00: return 0; // Halting execution for now

/* PSH */ OPC_SR1(0x01, , if (rx||ry) { PUSH(ARG); } else { (*pc)++; PUSH(READ(*pc)); if (w) { (*pc)++; } }) /* POP */ OPC_SR1(0x02, , if (rx||ry) { SET(POP()); } else { POP(); } ); /* CLR */ OPC_SR1(0x03, , SET(0)); - /* LDB */ OPC_SR1(0x04, , us_push(rx||ry ? ARG : readw(ADDR(ARG)))); - /* LDW */ OPC_SR1(0x05, , us_pushw(readw( ADDR(ARG)) )); + /* LDB */ OPC_SR1(0x04, , us_push(readw(ADDR(ARG)))); + /* LDW */ OPC_SR1(0x05, , us_pushw(readw(ADDR(ARG)) )); /* STB */ OPC_SR1(0x06, xyw_word addr = ADDR(ARG), write( addr, us_pop() )); /* STW */ OPC_SR1(0x07, xyw_word addr = ADDR(ARG), writew( addr, us_popw() )); /* INC */ OPC_SR1(0x08, , SET(ARG + 1));