OSDN Git Service
(root)
/
fast-forth
/
master.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Ver 301
[fast-forth/master.git]
/
MSP430-FORTH
/
MSP_EXP430FR5994
/
RTC.4TH
1
2
; --------------------
3
; RTC.4th
4
; --------------------
5
6
PWR_STATE
7
8
[UNDEFINED] {RTC} [IF]
9
10
MARKER {RTC}
11
12
[UNDEFINED] MAX [IF]
13
14
CODE MAX
15
CMP @R15,R14
16
S< ?GOTO FW1
17
BW1 ADD #2,R15
18
MOV @R13+,R0
19
ENDCODE
20
21
CODE MIN
22
CMP @R15,R14
23
S< ?GOTO BW1
24
FW1 MOV @R15+,R14
25
MOV @R13+,R0
26
ENDCODE
27
28
[THEN]
29
30
[UNDEFINED] CONSTANT [IF]
31
: CONSTANT
32
DEFER
33
HI2LO
34
MOV @R1+,R13
35
MOV #$1285,-4(R10)
36
MOV R14,-2(R10)
37
MOV @R15+,R14
38
MOV @R13+,R0
39
ENDCODE
40
[THEN]
41
42
[UNDEFINED] BL [IF]
43
#32 CONSTANT BL
44
[THEN]
45
46
[UNDEFINED] SPACES [IF]
47
CODE SPACES
48
CMP #0,R14
49
0<> IF
50
PUSH R13
51
BEGIN
52
LO2HI
53
BL EMIT
54
HI2LO
55
SUB #2,R13
56
SUB #1,R14
57
0= UNTIL
58
MOV @R1+,R13
59
THEN
60
MOV @R15+,R14
61
MOV @R13+,R0
62
ENDCODE
63
[THEN]
64
65
[UNDEFINED] OVER [IF]
66
CODE OVER
67
MOV R14,-2(R15)
68
MOV @R15,R14
69
SUB #2,R15
70
MOV @R13+,R0
71
ENDCODE
72
[THEN]
73
74
[UNDEFINED] U.R [IF]
75
: U.R
76
>R <# 0 # #S #>
77
R> OVER - 0 MAX SPACES TYPE
78
;
79
[THEN]
80
81
CODE DATE?
82
SUB #6,R15
83
MOV R14,4(R15)
84
BEGIN
85
BIT.B #$10,&$4A2
86
0<> UNTIL
87
MOV &$4B6,2(R15)
88
MOV.B &$4B5,R14
89
MOV R14,0(R15)
90
MOV.B &$4B4,R14
91
COLON
92
2 U.R $2F EMIT
93
2 U.R $2F EMIT .
94
;
95
96
: DATE!
97
2 DEPTH U< IF
98
HI2LO
99
MOV R14,&$4B6
100
MOV.B @R15,&$4B5
101
MOV.B 2(R15),&$4B4
102
ADD #4,R15
103
MOV @R15+,R14
104
LO2HI
105
THEN
106
." we are on " DATE?
107
;
108
109
CODE TIME?
110
SUB #6,R15
111
MOV R14,4(R15)
112
BEGIN
113
BIT.B #$10,&$4A2
114
0<> UNTIL
115
MOV.B &$4B0,R14
116
MOV R14,2(R15)
117
MOV.B &$4B1,R14
118
MOV R14,0(R15)
119
MOV.B &$4B2,R14
120
COLON
121
2 U.R $3A EMIT
122
2 U.R $3A EMIT 2 U.R
123
;
124
125
: TIME!
126
2 DEPTH U< IF
127
HI2LO
128
MOV R14,&$4B0
129
MOV.B @R15,&$4B1
130
MOV.B 2(R15),&$4B2
131
ADD #4,R15
132
MOV @R15+,R14
133
LO2HI
134
THEN
135
." it is " TIME?
136
;
137
138
RST_HERE
139
140
[THEN]
141
142
: ESC #27 EMIT ;
143
144
: [ISDEFERRED?]
145
DUP @ $4030 =
146
; IMMEDIATE
147
148
CREATE ABUF 20 ALLOT
149
150
: GET_TIME
151
PWR_STATE
152
42
153
0 DO CR LOOP
154
155
ESC ." [1J"
156
ESC ." [H"
157
158
CR ." DATE (DMY): "
159
ABUF DUP 20
160
['] ACCEPT [ISDEFERRED?]
161
[IF] >BODY
162
[THEN] EXECUTE
163
EVALUATE CR DATE!
164
CR CR ." TIME (HMS): "
165
ABUF DUP 20
166
['] ACCEPT [ISDEFERRED?]
167
[IF] >BODY
168
[THEN] EXECUTE
169
EVALUATE CR TIME!
170
CR
171
;
172
173
ECHO GET_TIME