prog8/testvm.txt
2018-03-03 12:13:25 +01:00

41 lines
623 B
Plaintext

; source code for a tinyvm program
%block b1
%vardefs
var byte teller 0
var byte numbertoprint 0
const byte one 1
const byte thousand 1000
const byte space_chr 10
const word screenstart 1024
%end_vardefs
%instructions
back:
push teller
push one
add
dup
dup
dup
push screenstart
swap
syscall memwrite_word
pop teller
call 1 printnumber
syscall delay
push thousand
cmp_lt
jump_if_true back
return 0
printnumber:
syscall decimalstr_signed
syscall printstr
push space_chr
syscall printchr
return 0
%end_instructions
%subblocks
%end_subblocks
%end_block ;b1