diff --git a/emit/uxn/emit.c b/emit/uxn/emit.c index 0553049..68ca6b1 100644 --- a/emit/uxn/emit.c +++ b/emit/uxn/emit.c @@ -709,7 +709,7 @@ uxn_emit_print() void uxn_emit_if() { - printf("#03 JCN !{ "); + printf("#03 JCN !{ \n"); } void @@ -721,7 +721,7 @@ uxn_emit_patch_if(i32 local_ifs) void uxn_emit_patch_if_done(i32 local_ifs) { - printf("&if_end.%d ", local_ifs); + printf("&if_end.%d \n", local_ifs); } @@ -734,13 +734,13 @@ uxn_emit_while(i32 local_whiles) void uxn_emit_while_postfix() { - printf("#03 JCN !{ "); + printf("#03 JCN !{ \n"); } void uxn_emit_patch_while(i32 local_whiles) { - printf("!&while.%d } ", local_whiles); + printf("!&while.%d } \n", local_whiles); } diff --git a/test/while.tal b/test/while.tal index b1e7fd9..3ebbd3d 100644 --- a/test/while.tal +++ b/test/while.tal @@ -1,8 +1,9 @@ |100 !{ @i $2 } #0000 ;i STA2 - -&loop.0 ;i LDA2 #000a LTH2 #03 JCN !{ ;i LDA2 nat_to_str_ str/ -;i LDA2 ;i LDA2 #0001 ADD2 ;i STA2 !&loop.0 } BRK +&while.0 ;i LDA2 #000a LTH2 #03 JCN !{ +;i LDA2 nat_to_str_ str/ +;i LDA2 #0001 ADD2 ;i STA2 !&while.0 } +BRK @sext #80 ANDk EQU #ff MUL SWP JMP2r diff --git a/while.tal b/while.tal deleted file mode 100644 index a004ac3..0000000 --- a/while.tal +++ /dev/null @@ -1,69 +0,0 @@ -|100 -!{ @i $2 } #0000 ;i STA2 -&while.0 ;i LDA2 #000a LTH2 #03 JCN !{ ;i LDA2 nat_to_str_ str/ -;i LDA2 #0001 ADD2 ;i STA2 !&while.0 } BRK - -@sext - #80 ANDk EQU #ff MUL SWP JMP2r - -@aalloc_ ( size* -- result* ) - OVR2r LIT2r 0004 SUB2r STH2kr INC2 INC2 STA2 - ;mem_length_ LDA2 STH2kr STA2 - ;mem_length_ LDA2k STH2kr INC2 INC2 LDA2 ADD2 SWP2 STA2 - ;mem_ STH2kr LDA2 ADD2 !&return - #0000 - - &return - POP2r JMP2r - -@amcpy_ ( length* from* -- result* ) - OVR2r LIT2r 0008 SUB2r STH2kr #0006 ADD2 STA2 - STH2kr #0004 ADD2 STA2 - STH2kr #0004 ADD2 LDA2 aalloc_ - STH2kr INC2 INC2 STA2 - #0000 STH2kr STA2 - - &begin.1 - STH2kr LDA2 STH2kr #0004 ADD2 LDA2 LTH2 #00 EQU ?&break.1 - STH2kr #0006 ADD2 LDA2 STH2kr LDA2 ADD2 LDA sext - STH2kr INC2 INC2 LDA2 STH2kr LDA2 ADD2 STA - POP - - &continue.1 - STH2kr LDA2k INC2k ROT2 STA2 - POP2 !&begin.1 - - &break.1 - STH2kr INC2 INC2 LDA2 !&return - #0000 - - &return - POP2r JMP2r - -@nat_to_str_ ( n* -- result* ) - OVR2r LIT2r 000a SUB2r STH2kr #0008 ADD2 STA2 - #0005 STH2kr STA2 - - &begin.1 - STH2kr #0008 ADD2 LDA2 #000a OVR2 OVR2 DIV2 MUL2 SUB2 #0030 ADD2 STH2kr INC2 INC2 STH2kr LDA2k #0001 SUB2 SWP2 STA2k - POP2 ADD2 STA - POP STH2kr #0008 ADD2 LDA2k #000a DIV2 SWP2 STA2 - - &continue.1 - #0000 STH2kr #0008 ADD2 LDA2 LTH2 ?&begin.1 - - &break.1 - #0005 STH2kr LDA2 SUB2 STH2kr INC2 INC2 STH2kr LDA2 ADD2 amcpy_ - !&return - #0000 - - &return - POP2r JMP2r - -@str/ ( str* -- ) - LDAk DUP ?{ POP POP2 JMP2r } - #18 DEO - INC2 !/ - -@mem_length_ #0000 -@mem_