1( 54K . Datetime Test )
2
3|10 @Console &vector $2 &read $1 &pad $4 &type $1 &write $1 &error $1
4|c0 @DateTime &year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1 &dotw $1 &doty $2 &isdst $1
5|0050 @Varvara/version
6
7|100
8
9@on-reset ( -> )
10 ;meta #06 DEO2
11 .DateTime/year DEI2k dec/<print>
12 [ LIT "- ] .Console/write DEO
13 INC INC DEIk INC <print-dec-pad>
14 [ LIT "- ] .Console/write DEO
15 INC DEI <print-dec-pad>
16 #0a18 DEO
17 ( | .. )
18 ;dict/date str/<print>
19 [ LIT2 00 -DateTime/dotw ] DEI #20 SFT ;dict/days ADD2 str/<print>
20 [ LIT2 ", 18 ] DEO
21 #2018 DEO
22 [ LIT2 00 -DateTime/month ] DEI #20 SFT ;dict/months ADD2 str/<print>
23 #2018 DEO
24 [ LIT2 00 -DateTime/day ] DEI dec/<print>
25 [ LIT2 ", 18 ] DEO
26 #2018 DEO
27 .DateTime/year DEI2 dec/<print>
28 #0a18 DEO
29 ( | .. )
30 ;dict/time str/<print>
31 .DateTime/hour DEIk <print-dec-pad>
32 [ LIT2 ": 18 ] DEO
33 INC DEIk <print-dec-pad>
34 [ LIT2 ": 18 ] DEO
35 INC DEI <print-dec-pad>
36 #0a18 DEO
37 ( | .. )
38 ;dict/doty str/<print>
39 .DateTime/doty DEI2 dec/<print>
40 #0a18 DEO
41 #800f DEO
42 BRK
43
44@meta 00
45 ( name ) "Datetime 20 "Device 20 "Test(80K) 0a
46 ( details ) "Testing 20 "Program 0a
47 ( author ) "By 20 "Devine 20 "Lu 20 "Linvega 0a
48 ( date ) "24 20 "Jun 20 "2026 00
49 ( . ) 01
50 ( - ) 56 =Varvara/version
51
52@<print-dec-pad> ( byte -- )
53 #0a DIVk dec/<emit>
54 DIVk MUL SUB
55 ( >> )
56
57@dec/<emit> ( byte -- )
58 LIT "0 ADD #18 DEO
59 JMP2r
60
61@str/<print> ( str* -- )
62 LDAk DUP ?{ POP POP2 JMP2r }
63 #18 DEO
64 INC2 !/<print>
65
66@dec/<print> ( short* -- )
67 #2710 [ LIT2r 00fb ]
68 &>w
69 DIV2k #000a DIV2k MUL2 SUB2 SWPr EQUk OVR STHkr EQU AND ?{ DUP dec/<emit>
70 INCr }
71 POP2 #000a DIV2 SWPr INCr STHkr ?&>w
72 POP2r POP2 POP2 JMP2r
73
74(
75@|assets )
76
77@dict/date "The 20 "date 20 "is: 20 $1
78 &time "The 20 "time 20 "is: 20 $1
79 &doty "The 20 "day 20 "of 20 "the 20 "year 20 "is: 20 $1
80 &months [
81 "Jan $1 "Feb $1 "Mar $1 "Apr $1
82 "May $1 "Jun $1 "Jul $1 "Aug $1
83 "Sep $1 "Oct $1 "Nov $1 "Dec $1 ]
84 &days [
85 "Sun $1 "Mon $1 "Tue $1 "Wed $1
86 "Thu $1 "Fri $1 "Sat $1 ]
87