diff --git a/src/drifblim.tal b/src/drifblim.tal index e20a7e5..c6437b4 100644 --- a/src/drifblim.tal +++ b/src/drifblim.tal @@ -19,23 +19,25 @@ @on-reset ( -> ) ;meta #06 DEO2 + ;await-src + ( >> ) + +@ ( addr* -> ) + .Console/vector DEO2 .Console/type DEI ?{ ;dict/usage #010f DEO } - ;await-src .Console/vector DEO2 BRK @await-src ( -> ) - .Console/read DEI DUP #20 GTH ?{ - ;on-init-dst .Console/vector DEO2 - POP BRK } + .Console/read DEI + ( ) DUP #20 GTH ?{ POP ;await-dst ! } [ LIT2 00 &ptr -src ] INCk ,&ptr STR STZ2 BRK -@on-init-dst ( -> ) - .Console/read DEI DUP #20 GTH ?{ - - [ LIT2 80 -halt ] LDZ ORA #0f DEO +@await-dst ( -> ) + .Console/read DEI + ( ) DUP #20 GTH ?{ BRK } [ LIT2 00 &ptr -dst ] INCk ,&ptr STR STZ2 @@ -55,10 +57,12 @@ ( make ) #00 handle-pass ?&fail + #800f DEO ! &fail ( -- ) ;dst .File/name DEO2 [ LIT2 01 -File/delete ] DEO + #010f DEO JMP2r @handle-pass ( scan -: err )