: >NUMBER       ( ud1 c-addr1 u1 -- ud2 c-addr2 u2 )
        BEGIN   DUP
        WHILE   OVER C@ [CHAR] 0 -  DUP 9 >
                IF     7 - DUP 0A < 100 AND OR  \ smudge if not a number
                THEN   DUP BASE @ <             ( ud2 c-addr2 u2 digit . )
                IF     >R 2SWAP BASE @ UD* R> 0 D+ 2SWAP
                ELSE   DROP EXIT                \ finished
                THEN
                1 /STRING
        REPEAT  ;

033A 4400     >NUMBER     W=S0
033B 0700                 Skip when W<>0
033C 1040                 Branch: P=037D
033D 66F1                 x=Data(S1)
033E 64F1                 G7=x, x=Data(S1)
033F 0BF4                 SP=SP-1
0340 0006FFD0             S0=#65488
0342 4A0F                 S0=W=S0+G7, latch CF
0343 00860009             G0=#9
0345 4108                 W=S0+(-G0), latch CF
0346 0F00                 Skip when W<=0 xor V=0 (>)
0347 100F                 Branch: P=0357
0348 00F6FFF9             G7=#65529
034A 4AF0                 G7=W=G7+S0, latch CF
034B 0086000A             G0=#10
034D 41F8                 W=G7+(-G0), latch CF
034E 0CE3                 G6=-1 when W<0 xor V=1 (<) else 0
034F 00860100             G0=#256
0351 4DE8                 G6=W=G6 AND G0
0352 00D6FFF9             G5=#65529
0354 4AD0                 G5=W=G5+S0, latch CF
0355 46DE                 W=G5 OR G6
0356 0005                 S0=W
0357 00861000             G0=#4096
0359 66F8                 x=Data(G0)
035A 64F8                 G7=x, x=Data(G0)
035B 41F0                 W=G7+(-S0), latch CF
035C 0F00                 Skip when W<=0 xor V=0 (>)
035D 1018                 Branch: P=0376
035E 3800                 Push S0 to return stack
035F 00861000             G0=#4096
0361 6608                 x=Data(G0)
0362 6408                 S0=x, x=Data(G0)
0363 50F4                 G7=W=S4
0364 5042                 S4=W=S2
0365 502F                 S2=W=G7
0366 50F3                 G7=W=S3
0367 5031                 S3=W=S1
0368 501F                 S1=W=G7
0369 8192                 Call 0324:UD*
036A 0BF4                 SP=SP-1
036B 3C00                 Pop S0 from return stack
036C 0BF4                 SP=SP-1
036D 0003                 S0=0
036E 8066                 Call 00CC:D+
036F 50F3                 G7=W=S3
0370 5031                 S3=W=S1
0371 501F                 S1=W=G7
0372 50F2                 G7=W=S2
0373 5020                 S2=W=S0
0374 500F                 S0=W=G7
0375 1002                 Branch: P=0378
0376 0009                 Return, without flush 
0377 0814                 SP=SP+1
0378 0BF4                 SP=SP-1
0379 00060001             S0=#1
037B 8199                 Call 0332:/STRING
037C 1FBD                 Branch: P=033A:>NUMBER
037D 0409                 Return
