: (parseh) ( a -- n f ) ( '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 2DROP 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 ;