diff --git a/cli/uxndis/src/uxndis.tal b/cli/uxndis/src/uxndis.tal index 4b07d6f..dff21ab 100644 --- a/cli/uxndis/src/uxndis.tal +++ b/cli/uxndis/src/uxndis.tal @@ -138,15 +138,14 @@ @ ( short* -- ) ( | sign ) - DUP2 #8000 AND2 #0000 EQU2 ?{ + OVR #80 AND #00 EQU ?{ [ LIT2 "- 18 ] DEO #8000 SWP2 SUB2 #7fff AND2 } [ LIT2 00 _&z ] STR - #2710 /parse #03e8 /parse #0064 /parse #000a /parse NIP #30 ADD #18 DEO - JMP2r - &parse ( -- ) + #2710 /p #03e8 /p #0064 /p #000a /p NIP ! + &p ( -- ) DIV2k DUPk [ LIT &z $1 ] EQU ?{ - DUP #30 ADD #18 DEO + DUP [ LIT2 ff _&z ] STR } POP MUL2 SUB2 JMP2r @@ -155,7 +154,11 @@ &b ( byte -: ) DUP #04 SFT /c &c ( byte -: ) - #0f AND DUP #09 GTH #27 MUL ADD [ LIT "0 ] ADD #18 DEO + #0f AND DUP #09 GTH #27 MUL ADD + ( >> ) + +@ ( num -- ) + [ LIT "0 ] ADD #18 DEO JMP2r @ ( str* -- )