; source code for a tinyvm program %block b1 %vardefs var byte teller 1 var byte numbertoprint 0 const byte one 1 const byte thousand 100000 var array_byte newlinestr 2 [32 32] %end_vardefs %instructions push teller syscall decimalstr_signed syscall printstr push newlinestr syscall printstr back: push teller push one add dup dup pop teller call 1 printnumber push thousand cmp_lt jump_if_true back return 0 printnumber: syscall decimalstr_signed syscall printstr push newlinestr syscall printstr return 0 %end_instructions %subblocks %end_subblocks %end_block ;b1