You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- ( returns negative value on error )
- : _ ( c -- n )
- DUP '0' '9' =><= IF '0' - EXIT THEN
- DUP 'a' 'f' =><= IF 0x57 ( 'a' - 10 ) - EXIT THEN
- DROP -1 ( bad )
- ;
- : _ph ( a -- n f, parse hex )
- ( '0': ASCII 0x30 'x': 0x78 0x7830 )
- DUP 1+ @ 0x7830 = NOT IF 0 EXIT THEN ( a 0 )
- ( We have "0x" prefix )
- DUP C@ ( a len )
- 0 SWAP 1+ ( len+1 ) 3 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 ;
|