prog8/testvm.txt

41 lines
623 B
Plaintext
Raw Normal View History

2018-02-25 15:43:00 +00:00
; source code for a tinyvm program
%block b1
%vardefs
2018-03-02 23:07:44 +00:00
var byte teller 0
2018-03-02 01:49:43 +00:00
var byte numbertoprint 0
2018-02-27 21:16:45 +00:00
const byte one 1
2018-03-02 23:07:44 +00:00
const byte thousand 1000
2018-03-03 11:13:25 +00:00
const byte space_chr 10
const word screenstart 1024
2018-02-25 15:43:00 +00:00
%end_vardefs
%instructions
2018-02-27 21:16:45 +00:00
back:
push teller
push one
add
2018-03-02 01:49:43 +00:00
dup
dup
2018-03-03 11:13:25 +00:00
dup
push screenstart
swap
syscall memwrite_word
2018-03-02 01:49:43 +00:00
pop teller
call 1 printnumber
2018-03-03 11:13:25 +00:00
syscall delay
2018-03-02 01:49:43 +00:00
push thousand
cmp_lt
jump_if_true back
return 0
printnumber:
2018-02-27 21:16:45 +00:00
syscall decimalstr_signed
syscall printstr
2018-03-02 23:07:44 +00:00
push space_chr
syscall printchr
2018-03-02 01:49:43 +00:00
return 0
2018-02-25 15:43:00 +00:00
%end_instructions
%subblocks
%end_subblocks
%end_block ;b1