browser

on-error.xyw

on-error.xyw
calendarsave
.include "lib/macros.xyw" 

; Register on error handler
on_error system.on_error STW

; Main program
$10 $00 DIV
HLT

; on_error handler
; --
.label on_error
  system.error LDB $01 EQU on_error.div-by-zero.print JCNw
  unknown-error puts JSRw
  $00 system.error STB
  RTS
  .label on_error.div-by-zero.print
    div-by-zero-error puts JSRw
    $00 system.error STB
    RTS

.include "lib/puts.xyw"

.label div-by-zero-error
  .string "Error: Division by zero.\n"
.label unknown-error
  .string "Error: Unknown error.\n"