all repos — xyw @ aeea371ceab2680b58e314ca5817acfb4b479450

A minimal virtual machine and assembler for terminals.

Refactoring macros.
h3rald h3rald@h3rald.com
Mon, 08 Dec 2025 12:57:48 +0000
commit

aeea371ceab2680b58e314ca5817acfb4b479450

parent

35c13bbce37f62686b4dc95238af12a98326d2c7

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

jump to
M xywrun.cxywrun.c

@@ -347,9 +347,9 @@ /* SWP */ OPC_SWP(0x18);

/* DUP */ OPC_SR1_new(0x19, , PUSH(ARG)); /* OVR */ OPC_SR2(0x1A, PUSH(b); PUSH(a); PUSH(b)); /* ROT */ OPC_SR2(0x1B, PUSH(b); PUSH(POP()); PUSH(a)); - /* JMP */ OPC_SR1(0x1C, *pc = ADDR(a)-1;); - /* JCN */ OPC_SR1(0x1D, xyw_word addr1 = ADDR(a); if (us_pop()) { *pc = addr1-1; }); - /* JSR */ OPC_SR1(0x1E, xyw_word addr2 = ADDR(a); ss_pushw(*pc+1); *pc = addr2-1;); + /* JMP */ OPC_SR1_new(0x1C, , *pc = ADDR(ARG)-1;); + /* JCN */ OPC_SR1_new(0x1D, xyw_word addr = ADDR(ARG), if (us_pop()) { *pc = addr-1; }); + /* JSR */ OPC_SR1_new(0x1E, xyw_word addr = ADDR(ARG), ss_pushw(*pc+1); *pc = addr-1;); /* RTS */ case 0x1F: *pc = ss_popw()-1; break; // clang-format on }