retroforth/interface/clock.retro
crc 16d5df0dc8 add source info for i/o words
FossilOrigin-Name: 4e07d2424d6b43867789fe2d25ec1b794ec3511eba5c9beefcfdc2a38344c0c4
2021-08-23 13:23:10 +00:00

47 lines
1.4 KiB
Forth

# Time and Date
The `clock:` namespace contains words for interacting with the
system clock.
~~~
:clock:operation
#5 io:scan-for
dup n:negative? [ drop 'Error:_device_(0005)_not_found s:put nl ] if;
io:invoke ;
:clock:timestamp (-n) #0 clock:operation ;
:clock:day (-n) #1 clock:operation ;
:clock:month (-n) #2 clock:operation ;
:clock:year (-n) #3 clock:operation ;
:clock:hour (-n) #4 clock:operation ;
:clock:minute (-n) #5 clock:operation ;
:clock:second (-n) #6 clock:operation ;
:clock:utc:day (-n) #7 clock:operation ;
:clock:utc:month (-n) #8 clock:operation ;
:clock:utc:year (-n) #9 clock:operation ;
:clock:utc:hour (-n) #10 clock:operation ;
:clock:utc:minute (-n) #11 clock:operation ;
:clock:utc:second (-n) #12 clock:operation ;
~~~
## d:source
~~~
'interface/clock.retro s:keep
dup 'clock:utc:second d:lookup d:source store
dup 'clock:utc:minute d:lookup d:source store
dup 'clock:utc:hour d:lookup d:source store
dup 'clock:utc:year d:lookup d:source store
dup 'clock:utc:month d:lookup d:source store
dup 'clock:utc:day d:lookup d:source store
dup 'clock:second d:lookup d:source store
dup 'clock:minute d:lookup d:source store
dup 'clock:hour d:lookup d:source store
dup 'clock:year d:lookup d:source store
dup 'clock:month d:lookup d:source store
dup 'clock:day d:lookup d:source store
dup 'clock:timestamp d:lookup d:source store
dup 'clock:operation d:lookup d:source store
drop
~~~