undar-lang/test/while-hardcoded.tal

18 lines
550 B
Tal

|100
LIT2r 0000 main POP2r BRK
@main ( -- )
OVR2r LIT2r 0002 SUB2r ( setup number of locals; in this case 1 u16 named 'i' )
#0000 STH2kr STA2 ( store the intial value into i )
&while.1 [ STH2kr LDA2 #0008 LTH2 ] #03 JCN !{ ( Loop while iterator is less than limit. )
STH2kr LDA2 print-num ( Run function to print number )
STH2kr LDA2 INC2 STH2kr STA2 ( incriment counter )
!&while.1 }
@print-num ( int -- )
LIT "0 ADD ( Add number to ascii character 0 )
#18 DEO ( Send to Console/write )
JMP2r