examples/on-error.xyw
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
.include "lib/macros.xyw"
; Register on error handler
on_error system.on_error STW
; Main program
$10 $00 DIV
end JMPw
; 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"
.label end
|