all repos — xyw @ 1b8b6fad6f42d23a89b1366bb246aea77ca8c0cc

A minimal virtual machine and assembler for terminals.

Minor fixes.
h3rald h3rald@h3rald.com
Tue, 03 Feb 2026 16:00:44 +0100
commit

1b8b6fad6f42d23a89b1366bb246aea77ca8c0cc

parent

d89860e6dde57ff8a2d55511463a80e788af7863

2 files changed, 10 insertions(+), 7 deletions(-)

jump to
M examples/on-error.xywexamples/on-error.xyw

@@ -9,12 +9,14 @@ end JMPw

; on error handler .label on_error - system.error $1 EQU on_error.print JCNw - RTS - .label on_error.print - error print JSRw - $2 system.error STB + system.error $1 EQU on_error.div-by-zero.print JCNw + unknown-error print JSRw + $0 system.error STB RTS + .label on_error.div-by-zero.print + div-by-zero-error print JSRw + $0 system.error STB + RTS ; printing subroutine ; a16 --

@@ -26,6 +28,8 @@ INCxw LDBxw print.loop JCNw

CLRxw RTS -.label error +.label div-by-zero-error .string "Error: Division by zero.\n" +.label unknown-error +.string "Error: Unknown error.\n" .label end
M xywrun.cxywrun.c

@@ -305,7 +305,6 @@ }

while ((xyw_memory[SYSTEM_STATE] & SYSTEM_STATE_RUNNING) && *pc < SYSTEM_MEMORY_START) { - // printf("ERROR: %d - State: %04X\n", xyw_memory[SYSTEM_ERROR], xyw_memory[SYSTEM_STATE]); if (xyw_memory[SYSTEM_ERROR] == XYW_ERROR_NONE) { // Clear error state if no error