From 80d730318a6358dadba84406af2945f6d92fd4b1 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Wed, 13 May 2020 22:55:52 -0400 Subject: [PATCH] Simplify LOAD's INTERPRET exit mechanism --- blk/044 | 1 - blk/409 | 9 --------- blk/432 | 11 ----------- blk/433 | 2 +- emul/forth.bin | Bin 5936 -> 5876 bytes 5 files changed, 1 insertion(+), 22 deletions(-) diff --git a/blk/044 b/blk/044 index 1ff3ef1..f15cb2f 100644 --- a/blk/044 +++ b/blk/044 @@ -2,4 +2,3 @@ INTERPRET -- Get a line from stdin, compile it in tmp memory, then execute the compiled contents. LEAVE -- In a DO..LOOP, exit at the next LOOP call. QUIT -- Return to interpreter prompt immediately -EXIT! -- Exit current INTERPRET loop. diff --git a/blk/409 b/blk/409 index d2e3917..09b0807 100644 --- a/blk/409 +++ b/blk/409 @@ -5,12 +5,3 @@ NOT IF (parse) ELSE EXECUTE THEN C DROP I 2- @ ( I I a ) - = UNTIL - DROP ; diff --git a/blk/432 b/blk/432 index da09ad2..442403f 100644 --- a/blk/432 +++ b/blk/432 @@ -1,14 +1,3 @@ -: _ - (boot<) - DUP 4 = IF - ( We drop our char, but also "a" from WORD: it won't - have the opportunity to balance PSP because we're - EXIT!ing. ) - 2DROP - ( We're finished interpreting ) - EXIT! - THEN -; ( pre-comment for tight LOAD: The 0x08==I check after INTERPRET is to check whether we're restoring to "_", the word above. if yes, then we're in a nested load. Also, the 1 in 0x06 is diff --git a/blk/433 b/blk/433 index 13fec92..d8f8447 100644 --- a/blk/433 +++ b/blk/433 @@ -5,7 +5,7 @@ 0x2e RAM+ @ >R ( boot ptr ) BLK@ BLK( 0x2e RAM+ ! ( Point to beginning of BLK ) - ['] _ 0x08 RAM+ ! + ['] (boot<) 0x08 RAM+ ! 1 0x06 RAM+ ! ( 06 == C 0x2e RAM+ ! R> 0x06 RAM+ ! diff --git a/emul/forth.bin b/emul/forth.bin index 86dfe1e4d412adb970bcd4aeb0aec734cfa544a2..f36dd202f8dae0f52f0816498d39cbbd4ec280ed 100644 GIT binary patch delta 1512 zcmYjRZAe>Z6h8OfSDUZiiVBzNh z=Q@}$Y>nFIj-$3R!X=FT))hPuME9RX!n2Tv4JFj2@+L5QLFjiVT-sO%2HzoNdR{WQ zUb-xGa5nv1>WSW#YNXq%!@LyrnlNZ)a{1OL;ce+l%E{qATQb2K_5+V4`+!+PIoA^F zmNm=@_Q?DAW@m?dAfT%THciVd+;Li#?YJ$ikyAoWCcFmE1J`(@(w1y^bZEkhoxn*| zVTC@Fd$V6)YZNF5-^sSbJ|=Wtj5_&&D+qh?o@_!}zBwMCd$yZlI^ zBf%CuiM7RNCZ@~dMk^e1{I?x{ANCKMjd9P?TfwJqvKpCIcfMkf&6n{l2zQWi+0S0Z z`m4&9}#b+|8WC`^M1xrCKI{S@v5Bl=h%*n|MMbS&}rK^LzP zu95bJ!cVaMz2NNcHZthK4({+{MTg&mbUf67MXk{HLT#f5xcG`Qh;3n=6hdq;1F$We z5*9@jvoK4=maihlvd)G|SgOkJ_*qsqreAPOOYk+Wg_Rjhyu_}7Hiz4k1Cbq7rz1g! zO&`sM&+rE#y%lawu;o{Ut&kg&Q?RUc;wB;dirgb_g_dBqPMJH=jD2xKV$R(#L2uAM z!nS%pT*5v-;Fy@G*T!r5$nzB~G-W5`z@;W!{>(@=WhEteM`D1EPV8zf)$x}j@Gd?u z$V{G1r33I59zI^x*}+uWhlY+*je3iIU0^<=>3qs+a^Mn!si=1Jvqtl952Nzul4%v* z#NikHANXTD8(Y${lR?B>BG>c3_aeQfPF>vmmtiQAw)2DOd>A~^ra$VPQLD(2$cXSd zGORjMSkE$9+2LIJpSXDCsu9NSx67?ixr%=eJ+wR0(mpT!*ns4%Xn{JtM)>w90+AsOk%|0Eq=i&*&E9%_Z+?5ndd;%kMW Z%JlS=YqPIt8Ji_y7ybfpsdOr@{R3n?NdN!< delta 1576 zcmYjROH5;B6h8Ofzf61E`)Yd&g}}6MWqPL$I_Q|pBSLr7hf|KWK~|-zutOFX@yDsaMB_!NCY15>lyeL$=uZ#llMPtgD#Atd{lh7^TSIeECOmUt zOw=JS7BIOg+_FPBVWaKneBVxoM7?o)X5M6tY>)?-H%7bU=eaRDE4OnM`my}d^f#!v z>@i?X4tp#}SlL{mwFy3u_mKX_E{0io33w#J4Hemfbidb@L|f{~Ig)fLrTZBvaiv+Y zAV1V2f`E<@sL;4_p1V#5m3*us?~p6Pfuc(nsKxh8DU@0C}E zo*;cHj0w+_ip)M1bc}}W{J@O~jcTK6!MKbLEZQ|Jg7A%MQem8LkZokAhErgsQN&S0 z(`wwT$V>3+$q1I%JA8BKbu749iK4$76GeH(`7UAJ1N2ihHt`FlNM&M9D?B)&>9afQ zh6BQY*i319&eUw0k5t0%t5t!G8S#m?OdaukwI&>?Y;FWBVA2!9tdfeN(2Lr6<4x=> zc4um?G-;!|askp1)0P zu`ja2uFZfGKMe-DCR=c|RCtI)x@`q}QXI$lN7yvGC|zg@I8aVSXqPxu5q?VD!NUQ16_R}!9p1y`Sn+;GWj!n%;40vMZz-^TUr1yM0dUL5 z-mvEjy@qSho0VV%({9^oS-;sK1!Eep^uI!4geepkP$I&++TPr822P