( Time access JCB 13:27 08/24/10) variable prevth \ previous high time 2variable timeh \ high 32 bits of time : time@ ( -- time. ) begin time 2@ time 2@ 2over d<> while 2drop repeat \ dup prevth fall? if \ d# 1. timeh d+! \ then ; : timeq ( -- d d ) \ 64-bit time time@ timeh 2@ ; : setalarm ( d a -- ) \ set alarm a for d microseconds hence >r time@ d+ r> 2! ; : isalarm ( a -- f ) 2@ time@ d- d0<= ; 2variable sleeper : sleepus sleeper setalarm begin sleeper isalarm until ; : sleep.1 d# 100000. sleepus ; : sleep1 d# 1000000. sleepus ; : took ( d -- ) time@ 2swap d- s" took " type d. cr ;