: parse-digit ( hex-digit -- number ) dup [char] a >= dup [char] f <= and if [char] a - 10 + else dup [char] A >= dup [char] F <= and if [char] A - 10 + else [char] 0 - then then ; : parse-number ( string-addr count -- number ) 0 rot rot over + swap do 16 * i c@ parse-digit + loop ; : store ( addr "hex numbers" -- ) begin bl word count dup if parse-number over c! 1+ else drop drop drop exit then again ; Example: here dup 4 allot store 1 a1 ff 0 4 dump 44F204 | 01 A1 FF 00 |.¡ÿ.| ok