uxn/examples/dev.console.usm

33 lines
720 B
Plaintext

( hello world )
&Console { pad 8 char 1 byte 1 short 2 }
|0100 @RESET
,text1 ,print-label JSR
,text2 ,print-label JSR
#ab =dev/console.byte
#cdef =dev/console.short
BRK
@print-label ( text )
@print-label-loop
DUP2 LDR =dev/console.char ( write pointer value to console )
#0001 ADD2 ( increment string pointer )
DUP2 LDR #00 NEQ ,print-label-loop ROT JMP? POP2 ( while *ptr!=0 goto loop )
POP2
RTS
@text1 [ Hello World 0a00 ] ( store text with a linebreak and null byte )
@text2 [ Welcome to UxnVM 0a00 ]
|c000 @FRAME
|d000 @ERROR
|FF00 ;dev/console Console
|FFF0 .RESET .FRAME .ERROR ( vectors )
|FFF8 [ 13fd 1ef3 1bf2 ] ( palette )