OSDN Git Service

f2c3701f873c983d60ecd5c261605c84d22a2e48
[fast-forth/master.git] / MSP430-FORTH / MSP_EXP430FR5994 / FF_SPECS.4TH
1
2 ; ------------------
3 ; FF_SPECS.4th
4 ; ------------------
5
6 ; display all FastForth compilation options
7
8
9 RST_STATE
10
11 [UNDEFINED] CONSTANT [IF]
12 : CONSTANT 
13 DEFER
14 HI2LO
15 MOV @R1+,R13
16 MOV #$1285,-4(R10)
17 MOV R14,-2(R10)
18 MOV @R15+,R14
19 MOV @R13+,R0
20 ENDCODE
21 [THEN]
22
23 [UNDEFINED] OVER [IF]
24 CODE OVER
25 MOV R14,-2(R15)
26 MOV @R15,R14
27 SUB #2,R15
28 MOV @R13+,R0
29 ENDCODE
30 [THEN]
31
32 0 CONSTANT CASE IMMEDIATE
33
34 : OF
35 1+      
36 >R      
37 POSTPONE OVER POSTPONE =
38 POSTPONE IF     
39 POSTPONE DROP   
40 R>      
41 ; IMMEDIATE 
42
43 : ENDOF
44 >R      
45 POSTPONE ELSE 
46 R>      
47 ; IMMEDIATE 
48
49 : ENDCASE
50 POSTPONE DROP
51 0 DO 
52     POSTPONE THEN 
53 LOOP 
54 ; IMMEDIATE 
55
56 : BS 8 EMIT ;
57
58 : ESC #27 EMIT ;
59
60 [UNDEFINED] PAD [IF]
61 $1CE4 CONSTANT PAD
62 [THEN]
63
64 [UNDEFINED] PLUS [IF]
65 CODE +
66 ADD @R15+,R14
67 MOV @R13+,R0
68 ENDCODE
69 [THEN]
70
71 [UNDEFINED] AND [IF]
72 CODE AND
73 AND @R15+,R14
74 MOV @R13+,R0
75 ENDCODE
76 [THEN]
77
78
79 [UNDEFINED] ROT [IF]
80 CODE ROT
81 MOV @R15,R10
82 MOV R14,0(R15)
83 MOV 2(R15),R14
84 MOV R10,2(R15)
85 MOV @R13+,R0
86 ENDCODE
87 [THEN]
88
89 [UNDEFINED] C@ [IF]
90 CODE C@
91 MOV.B @R14,R14
92 MOV @R13+,R0
93 ENDCODE
94 [THEN]
95
96 [UNDEFINED] BL [IF]
97 #32 CONSTANT BL
98 [THEN]
99
100 [UNDEFINED] SPACE [IF]
101 : SPACE
102 BL EMIT ;
103 [THEN]
104
105 [UNDEFINED] SPACES [IF]
106 CODE SPACES
107 CMP #0,R14
108 0<> IF
109     PUSH R13
110     BEGIN
111         LO2HI
112         BL EMIT
113         HI2LO
114         SUB #2,R13 
115         SUB #1,R14
116     0= UNTIL
117     MOV @R1+,R13
118 THEN
119 MOV @R15+,R14
120 MOV @R13+,R0              
121 ENDCODE
122 [THEN]
123
124 [UNDEFINED] UM/MOD [IF]
125 CODE UM/MOD
126     PUSH #DROP
127     MOV #<#,R9
128     ADD #8,R9
129     MOV R9,R0
130 ENDCODE
131 [THEN]
132
133 [UNDEFINED] WORDS [IF]
134 : WORDS
135 CR 
136 $1DCA @ PAD
137 $1800 @ DUP +
138 MOVE
139 BEGIN
140     0 DUP
141     $1800 @ DUP + 0
142         DO
143         DUP I PAD + @
144             U< IF
145                 DROP DROP
146                 I DUP PAD + @
147             THEN
148         2 +LOOP
149     ?DUP
150 WHILE
151     DUP
152     2 - @
153     ROT
154     PAD +
155     !
156     DUP
157     COUNT $7F AND
158     TYPE
159     C@ $0F AND
160     $10 SWAP - SPACES
161 REPEAT
162 DROP
163 ;
164 [THEN]
165
166 : ADDONS
167 ESC ." [7m"
168 ." KERNEL OPTIONS:"
169 ESC ." [0m"
170 $1812 @
171
172       DUP 0< IF CR ." 32.768kHz XTAL" THEN
173 DUP + DUP 0< IF DUP + CR ." HARDWARE (RTS/CTS) TERMINAL"
174              ELSE DUP + DUP 0< IF CR ." HARDWARE (RTS) TERMINAL" THEN
175              THEN
176 DUP + DUP 0< IF CR ." XON/XOFF TERMINAL" THEN
177 DUP + DUP 0< IF CR ." HALF-DUPLEX TERMINAL" THEN
178 DUP + DUP 0< IF CR ." ASM DATA ACCESS BEYOND $FFFF" THEN
179 DUP + DUP 0< IF CR ." BOOTLOADER" THEN
180 DUP + DUP 0< IF CR ." SD_CARD READ/WRITE" THEN
181 DUP + DUP 0< IF CR ." SD_CARD LOADER" THEN
182 DUP + DUP 0< IF CR ." FIXPOINT INPUT" THEN
183 DUP + DUP 0< IF CR ." DOUBLE INPUT" THEN
184 DUP + DUP 0< IF CR ." VOCABULARY SET" THEN
185 DUP + DUP 0< IF CR ." NONAME" THEN
186 DUP + DUP 0< IF CR ." EXTENDED ASSEMBLER" THEN
187 DUP + DUP 0< IF CR ." ASSEMBLER" THEN
188 DUP + DUP 0< IF CR ." CONDITIONNAL COMPILATION" THEN
189
190 0< IF
191     CR ESC ." [7m"
192     ." OTHER OPTIONS:"
193     ESC ." [0m"
194     CR ." none"
195     ESC ." [G"
196     [DEFINED] {ANS_COMP} [IF] ." ANS_COMPLEMENT" CR [THEN]
197     [DEFINED] {TOOLS}    [IF] ." UTILITY" CR [THEN]
198     [DEFINED] {FIXPOINT} [IF] ." FIXPOINT" CR [THEN]
199     [DEFINED] {SD_TOOLS} [IF] ." SD_TOOLS" CR [THEN]
200     CR CR
201     [DEFINED] VOCABULARY [IF]
202     ESC ." [7m"
203     ." ASSEMBLER word set"
204     ESC ." [0m"
205     ALSO ASSEMBLER WORDS CR PREVIOUS
206     [THEN]
207 ESC ." [7m" ." FORTH word set" ESC ." [0m"
208 WORDS
209 THEN
210 ;
211
212 : specs
213 PWR_STATE
214 HERE
215 ECHO
216
217 41
218 0 DO CR LOOP
219
220 ESC ." [1J"
221 ESC ." [H"
222 ESC ." [7m"
223
224 $1A04 @
225
226 CR ." FastForth V" $1810 @
227 0 <# #  8 HOLD # 46 hold  #S #> TYPE SPACE
228 ." for MSP430FR"
229 CASE
230     $830C     OF      ." 2355,"   $8000   ENDOF
231     $8328     OF      ." 2476,"   $8000   ENDOF
232     $8240     OF      ." 2433,"   $C400   ENDOF
233     $81F0     OF      ." 4133,"   $C400   ENDOF
234     $8103     OF      ." 5739,"   $C200   ENDOF
235     $8102     OF      ." 5738,"   $C200   ENDOF
236     $8169     OF      ." 5969,"   $4400   ENDOF
237     $8160     OF      ." 5948,"   $4400   ENDOF
238     $82A1     OF      ." 5994,"   $4000   ENDOF
239     $81A8     OF      ." 6989,"   $4400   ENDOF
240
241     ABORT" xxxx <-- unrecognized device!"
242 ENDCASE SPACE 
243
244 ['] ['] DUP @ $1287 = IF ." DTC=1," DROP
245                          ELSE 2 + @ $1287 =
246                             IF ." DTC=2,"
247                             ELSE ." DTC=3,"
248                             THEN
249                         THEN SPACE 
250
251 $1800 @ U. BS ." -Entry word sets, "
252
253 $1806 @ 0 1000 UM/MOD U.
254 ?DUP IF  BS ." ," U.
255 THEN ." MHz, "
256
257 - U. ." bytes"
258
259
260 CR CR ADDONS
261
262 CR WARM
263 ;
264
265 ECHO specs