diff --git a/blk/360 b/blk/360 index 59b1089..3166781 100644 --- a/blk/360 +++ b/blk/360 @@ -2,14 +2,9 @@ ( '0': ASCII 0x30 'x': 0x78 0x7830: 30768 ) DUP @ 30768 = NOT IF 0 EXIT THEN ( a 0 ) ( We have "0x" prefix ) - 2+ - 0 ( a r ) - BEGIN - SWAP C@+ ( r a+1 c ) - ?DUP NOT IF DROP 1 EXIT THEN ( r, 1 ) - _ ( r a n ) - DUP 0< IF ROT 2DROP 0 EXIT THEN ( a 0 ) - ROT 16 * + ( a r*16+n ) - AGAIN -; - + DUP 1- C@ ( a len ) + 0 SWAP ( len ) 2 DO ( a r ) + OVER I + C@ ( a r c ) _ ( a r n ) + DUP 0< IF 2DROP 0 UNLOOP EXIT THEN + SWAP 4 LSHIFT + ( a r*16+n ) LOOP + NIP 1 ; diff --git a/emul/forth.bin b/emul/forth.bin index cb19877..b098f96 100644 Binary files a/emul/forth.bin and b/emul/forth.bin differ