2 RETURN-STACK-CELLS = 48 maximum size of the return stack, in cells
3 STACK-CELLS = 48 maximum size of the data stack, in cells
4 /COUNTED-STRING = 255 maximum size of a counted string, in characters
5 /HOLD = 34 size of the pictured numeric output string buffer, in characters
6 /PAD = 84 size of the scratch area pointed to by PAD, in characters
7 ADDRESS-UNIT-BITS = 16 size of one address unit, in bits
8 FLOORED = true true if floored division is the default
9 MAX-CHAR = 255 maximum value of any character in the implementation-defined character set
10 MAX-N = 32767 largest usable signed integer
11 MAX-U = 65535 largest usable unsigned integer
12 MAX-D = 2147483647 largest usable signed double number
13 MAX-UD = 4294967295 largest usable unsigned double number
14 WoRdS aRe CaSe-InSeNsItIvE
18 RST_HERE PWR_HERE RST_STATE PWR_STATE CREATE ; : IMMEDIATE
19 POSTPONE ] [ \ ' ['] ABORT" INTERPRET
20 COUNT LITERAL ALLOT , >NUMBER FIND WORD ."
21 S" . U. SIGN HOLD #> #S #
22 <# ! @ CR TYPE NOECHO ECHO EMIT
23 KEY ACCEPT COLD WARM WIPE
25 RST_HERE defines the bound of the program memory protected against COLD or hardware reset.
26 PWR_HERE defines the bound of the program memory protected against ON/OFF and also against any error occurring.
27 RST_STATE removes all words defined after RST_HERE (COLD or <reset> have same effet)
28 PWR_STATE removes all words defined after PWR_HERE (an error has same effect)
29 INTERPRET text interpreter, common part of EVALUATE and QUIT.
30 NOECHO stop display on output
31 ECHO start display on output
32 CREATE https://forth-standard.org/standard/core/CREATE
33 ; https://forth-standard.org/standard/core/Semi
34 : https://forth-standard.org/standard/core/Colon
35 IMMEDIATE https://forth-standard.org/standard/core/IMMEDIATE
36 POSTPONE https://forth-standard.org/standard/core/POSTPONE
37 ] https://forth-standard.org/standard/core/right-bracket
38 [ https://forth-standard.org/standard/core/Bracket
39 \ https://forth-standard.org/standard/block/bs
40 ['] https://forth-standard.org/standard/core/BracketTick
41 ' https://forth-standard.org/standard/core/Tick
42 ABORT" https://forth-standard.org/standard/core/ABORTq
43 COUNT https://forth-standard.org/standard/core/COUNT
44 LITERAL https://forth-standard.org/standard/core/LITERAL
45 ALLOT https://forth-standard.org/standard/core/ALLOT
46 , https://forth-standard.org/standard/core/Comma
47 >NUMBER https://forth-standard.org/standard/core/toNUMBER
48 FIND https://forth-standard.org/standard/core/FIND
49 WORD https://forth-standard.org/standard/core/WORD
50 ." https://forth-standard.org/standard/core/Dotq
51 S" https://forth-standard.org/standard/core/Sq
52 . https://forth-standard.org/standard/core/d
53 U. https://forth-standard.org/standard/core/Ud
54 SIGN https://forth-standard.org/standard/core/SIGN
55 HOLD https://forth-standard.org/standard/core/HOLD
56 #> https://forth-standard.org/standard/core/num-end
57 #S https://forth-standard.org/standard/core/numS
58 # https://forth-standard.org/standard/core/num
59 <# https://forth-standard.org/standard/core/num-start
60 ! https://forth-standard.org/standard/core/Store
61 @ https://forth-standard.org/standard/core/Fetch
62 CR DEFERed word, https://forth-standard.org/standard/core/CR
63 TYPE https://forth-standard.org/standard/core/TYPE
64 EMIT DEFERed word, https://forth-standard.org/standard/core/EMIT
65 KEY DEFERed word, https://forth-standard.org/standard/core/KEY
66 ACCEPT DEFERed word, https://forth-standard.org/standard/core/ACCEPT
67 COLD PFA of COLD content = STOP_APP subroutine address, by default --> STOP_TERM
68 WARM PFA of WARM content = INI_APP subroutine address, by default --> ENABLE_IO
69 WIPE resets the program memory to its original state (Deep_RST have same effect).
71 words added by the option MSP430ASSEMBLER:
75 CODE <word> creates a word written in assembler.
76 this defined <word> must be ended with ENDCODE unless COLON or LO2HI use.
77 ASM <word> creates a word written in assembler but not interpretable by FORTH (because ended by RET instr.).
78 this defined <word> must be ended with ENDASM. Visible only from assembler
79 HI2LO used to switch compilation from high level (FORTH) to low level (assembler).
81 Other words are useable via the preprocessor GEMA and they address is in \inc\device.pat file :
83 SLEEP CODE_WITHOUT_RETURN: CPU shutdown
84 LIT CODE compiled by LITERAL
85 XSQUOTE CODE compiled by S" and S_
86 HEREXEC CODE HERE and BEGIN execute address
87 QFBRAN CODE compiled by IF UNTIL
88 BRAN CODE compiled by ELSE REPEAT AGAIN
89 NEXT_ADR CODE NEXT instruction (MOV @IP+,PC)
90 XDO CODE compiled by DO
91 XPLOOP CODE compiled by +LOOP
92 XLOOP CODE compiled by LOOP
93 MUSMOD ASM 32/16 unsigned division, used by ?NUMBER, UM/MOD
94 MDIV1DIV2 ASM input for 48/16 unsigned division with DVDhi=0, see DOUBLE M*/
95 MDIV1 ASM input for 48/16 unsigned division, see DOUBLE M*/
96 RET_ADR ASM content of INI_FORTH_PFA and MARKER+8 definitions,
97 SETIB CODE Set Input Buffer with org & len values, reset >IN pointer
98 REFILL CODE accept one line from input and leave org len of input buffer
99 CIB_ADR [CIB_ADR] = TIB_ORG by default; may be redirected to SDIB_ORG
100 XDODOES restore rDODOES: MOV #XDODOES,rDODOES
101 XDOCON restore rDOCON: MOV #XDOCON,rDOCON
102 XDOVAR restore rDOVAR: MOV #XDOVAR,rDOVAR
103 !to find DTC value, download \MSP430-FORTH\FF_SPECS.4th
104 !XDOCOL if DTC = 1, restore rDOCOL as this: MOV #TYPE+-16,rDOCOL
105 !XDOCOL if DTC = 2, restore rDOCOL as this: MOV ##S+16,rDOCOL
106 ! if DTC = 3, nothing to do, R7 is free for use.
107 INI_FORTH CODE_WITHOUT_RETURN common part of RST and QABORT, starts FORTH engine
108 QABORT CODE_WITHOUT_RETURN run-time part of ABORT"
110 ABORT_TERM CODE_WITHOUT_RETURN called by QREVEAL and INTERPRET
111 !-------------------------------------------------------------------------------
112 UART_COLD_TERM ASM, content of COLD_PFA by default
113 UART_INIT_TERM ASM, content of WARM_PFA by default
114 UART_RXON ASM, content of SLEEP_PFA by default
115 UART_RXOFF ASM, called by ACCEPT before RX char LF.
116 !-------------------------------------------------------------------------------
117 I2C_COLD_TERM ASM, content of COLD_PFA by default
118 I2C_INIT_TERM ASM, content of WARM_PFA by default
119 I2C_RXON ASM, content of SLEEP_PFA by default
120 I2C_CTRL_CH ASM, used as is: MOV.B #CTRL_CHAR,Y
122 !-------------------------------------------------------------------------------
124 MSP430ASSEMBLER word-set
127 ?GOTO GOTO FW3 FW2 FW1 BW3 BW2
128 BW1 REPEAT WHILE AGAIN UNTIL ELSE THEN
129 IF 0= 0<> U>= U< 0< 0>=
130 S< S>= RRUM RLAM RRAM RRCM POPM
131 PUSHM CALL PUSH.B PUSH SXT RRA.B RRA
132 SWPB RRC.B RRC AND.B AND XOR.B XOR
133 BIS.B BIS BIC.B BIC BIT.B BIT DADD.B
134 DADD CMP.B CMP SUB.B SUB SUBC.B SUBC
135 ADDC.B ADDC ADD.B ADD MOV.B MOV RETI
136 LO2HI COLON ENDASM ENDCODE
138 see: http://www.ece.utep.edu/courses/web3376/Notes_files/ee3376-isa.pdf
139 readme.md for symbolic alias of registers, symbolic jumps (IF ELSE THEN...),..
141 ?GOTO used after a conditionnal (0=,0<>,U>=,U<,0<,S<,S>=) to branch to a label FWx or BWx
142 GOTO used as unconditionnal branch to a label FWx or BWx
143 BW3 BACKWARD branch destination n°3
146 FW3 FORWARD branch destination n°3
149 REPEAT assembler version of the FORTH word REPEAT
160 0< conditionnal, to use only with ?GOTO
161 0>= conditionnal, to use only with IF UNTIL WHILE
164 LO2HI switches compilation between low level and high level modes without saving IP register.
165 COLON pushes IP then performs LO2HI, used as: CODE <word> ... assembler instr ... COLON ... FORTH words ... ;
166 ENDASM to end an ASM definition.
167 ENDCODE to end a CODE definition.
169 ADD http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=135
170 ADDC http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=136
171 AND http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=137
172 BIC http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=138
173 BIS http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=139
174 BIT http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=140
175 CALL http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=142
176 CMP http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=147
177 DADD http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=149
178 MOV http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=165
179 PUSH http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=168
180 RETI http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=170
181 RRA http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=173
182 RRC http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=174
183 SUB http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=179
184 SUBC http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=180
185 SWPB http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=181
186 SXT http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=182
187 XOR http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=184
189 RRUM http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=218
190 RLAM http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=208
191 RRAM http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=211
192 RRCM http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=214
193 POPM http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=204
194 PUSHM http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=205
196 EXTENDED_MEM WORDS set:
198 POPM.A http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=204
199 PUSHM.A http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=205
200 ADDA http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=229
201 CALLA http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=232
202 CMPA http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=235
203 MOVA http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=238
204 SUBA http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=241
206 EXTENDED_ASM WORDS set:
208 ADDX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=187
209 ADDCX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=188
210 ANDX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=189
211 BICX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=190
212 BISX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=191
213 BITX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=192
214 CMPX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=194
215 DADDX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=196
216 MOVX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=202
217 PUSHX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=207
218 RRAX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=212
219 RRCX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=216
220 RRUX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=219
221 SUBX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=221
222 SUBCX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=222
223 SWPBX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=223
224 SXTX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=225
225 XORX http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=227
227 RPT http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=219
231 MARKER [DEFINED] [UNDEFINED] [IF] [ELSE] [THEN]
233 MARKER https://forth-standard.org/standard/core/MARKER
234 [DEFINED] https://forth-standard.org/standard/tools/BracketDEFINED
235 [UNDEFINED] https://forth-standard.org/standard/tools/BracketUNDEFINED
236 [IF] https://forth-standard.org/standard/tools/BracketIF
237 [ELSE] https://forth-standard.org/standard/tools/BracketELSE
238 [THEN] https://forth-standard.org/standard/tools/BracketTHEN
243 DEFINITIONS ONLY PREVIOUS ALSO ASSEMBLER FORTH VOCABULARY
245 DEFINITIONS https://forth-standard.org/standard/search/DEFINITIONS
246 ONLY https://forth-standard.org/standard/search/ONLY
247 PREVIOUS https://forth-standard.org/standard/search/PREVIOUS
248 ALSO https://forth-standard.org/standard/search/ALSO
249 ASSEMBLER assembler VOCABULARY
250 FORTH FORTH VOCABULARY
251 VOCABULARY <word> creates a new VOCABULARY named word
256 CODENNM IS DEFER :NONAME
258 :NONAME https://forth-standard.org/standard/core/ColonNONAME
259 CODENNM assembly counterpart of :NONAME
260 DEFER https://forth-standard.org/standard/core/DEFER
261 IS https://forth-standard.org/standard/core/IS
264 SD_CARD_LOADER ADD-ON
265 ---------------------
268 LOAD" LOAD" SD_TEST.4TH" loads source file SD_TEST.4TH from SD_Card and compile it.
270 ACCEPT becomes a DEFERed word
273 SD_CARD_READ_WRITE ADD-ON
274 -------------------------
275 TERM2SD" SD_EMIT WRITE READ CLOSE DEL" WRITE"
278 TERM2SD" TERM2SD" SD_TEST.4TH" copy input file to SD_CARD (use CopySourceFileToTarget_SD_Card.bat to do)
279 SD_EMIT sends output stream at the end of last opened as write file.
280 WRITE write sequentially BUFFER content to a sector
281 READ read sequentially a sector to BUFFER
282 CLOSE close last opened file.
283 DEL" DEL" SD_TEST.4TH" remove this file from SD_CARD.
284 WRITE" WRITE" TRUC" open or create TRUC file ready to write to the end of this file
285 READ" READ" TRUC" open TRUC and load its first sector in BUFFER
293 QUIT becomes a DEFERed word
296 ; when ADD-ONs are compiled into the kernel, their respective MARKER word identified with braces {} does nothing.
297 ; when ADD-ONs are downloaded, their respective MARKER word identified with braces {} removes all ADD-ONs words.
300 ANS_COMPLEMENT ADD-ON
301 ---------------------
302 VALUE TO SPACES SPACE BL PAD >IN
303 BASE STATE CONSTANT VARIABLE SOURCE RECURSE EVALUATE
304 EXECUTE >BODY .( ( DECIMAL HEX HERE
305 FILL MOVE +! [CHAR] CHAR CELL+ CELLS
306 CHAR+ CHARS ALIGN ALIGNED 2OVER 2SWAP 2DROP
307 2DUP 2! 2@ R@ ROT OVER */
308 */MOD MOD / /MOD * FM/MOD ABS
309 NEGATE SM/REM UM/MOD M* UM* 2/ 2*
310 MIN MAX RSHIFT LSHIFT INVERT 1- 1+
311 S>D XOR OR AND LEAVE UNLOOP J
312 I +LOOP LOOP DO REPEAT WHILE AGAIN
313 UNTIL ELSE THEN IF > < U<
315 >R NIP DROP SWAP DEPTH EXIT ?DUP
316 DUP - + DOES> BEGIN {CORE_COMP}
318 VALUE https://forth-standard.org/standard/core/VALUE
319 TO https://forth-standard.org/standard/core/TO
320 BEGIN https://forth-standard.org/standard/core/BEGIN
321 DOES> https://forth-standard.org/standard/core/DOES
322 SPACES https://forth-standard.org/standard/core/SPACES
323 SPACE https://forth-standard.org/standard/core/SPACE
324 BL https://forth-standard.org/standard/core/BL
325 PAD https://forth-standard.org/standard/core/PAD
326 >IN https://forth-standard.org/standard/core/toIN
327 BASE https://forth-standard.org/standard/core/BASE
328 STATE https://forth-standard.org/standard/core/STATE
329 CONSTANT https://forth-standard.org/standard/core/CONSTANT
330 VARIABLE https://forth-standard.org/standard/core/VARIABLE
331 SOURCE https://forth-standard.org/standard/core/SOURCE
332 RECURSE https://forth-standard.org/standard/core/RECURSE
333 EVALUATE https://forth-standard.org/standard/core/EVALUATE
334 EXECUTE https://forth-standard.org/standard/core/EXECUTE
335 >BODY https://forth-standard.org/standard/core/toBODY
336 .( https://forth-standard.org/standard/core/Dotp
337 ( https://forth-standard.org/standard/core/p
338 DECIMAL https://forth-standard.org/standard/core/DECIMAL
339 HEX https://forth-standard.org/standard/core/HEX
340 HERE https://forth-standard.org/standard/core/HERE
341 FILL https://forth-standard.org/standard/core/FILL
342 MOVE https://forth-standard.org/standard/core/MOVE
343 +! https://forth-standard.org/standard/core/PlusStore
344 [CHAR] https://forth-standard.org/standard/core/BracketCHAR
345 CHAR https://forth-standard.org/standard/core/CHAR
346 CELL+ https://forth-standard.org/standard/core/CELLPlus
347 CELLS https://forth-standard.org/standard/core/CELLS
348 CHAR+ https://forth-standard.org/standard/core/CHARPlus
349 CHARS https://forth-standard.org/standard/core/CHARS
350 ALIGN https://forth-standard.org/standard/core/ALIGN
351 ALIGNED https://forth-standard.org/standard/core/ALIGNED
352 2OVER https://forth-standard.org/standard/core/TwoOVER
353 2SWAP https://forth-standard.org/standard/core/TwoSWAP
354 2DROP https://forth-standard.org/standard/core/TwoDROP
355 2DUP https://forth-standard.org/standard/core/TwoDUP
356 2! https://forth-standard.org/standard/core/TwoStore
357 2@ https://forth-standard.org/standard/core/TwoFetch
358 R@ https://forth-standard.org/standard/core/RFetch
359 ROT https://forth-standard.org/standard/core/ROT
360 OVER https://forth-standard.org/standard/core/OVER
361 */ https://forth-standard.org/standard/core/TimesDiv
362 */MOD https://forth-standard.org/standard/core/TimesDivMOD
363 MOD https://forth-standard.org/standard/core/MOD
364 / https://forth-standard.org/standard/core/Div
365 /MOD https://forth-standard.org/standard/core/DivMOD
366 * https://forth-standard.org/standard/core/Times
367 FM/MOD https://forth-standard.org/standard/core/FMDivMOD
368 ABS https://forth-standard.org/standard/core/ABS
369 NEGATE https://forth-standard.org/standard/core/NEGATE
370 SM/REM https://forth-standard.org/standard/core/SMDivREM
371 UM/MOD https://forth-standard.org/standard/core/UMDivMOD
372 M* https://forth-standard.org/standard/core/MTimes
373 UM* https://forth-standard.org/standard/core/UMTimes
374 2/ https://forth-standard.org/standard/core/TwoDiv
375 2* https://forth-standard.org/standard/core/TwoTimes
376 MIN https://forth-standard.org/standard/core/MIN
377 MAX https://forth-standard.org/standard/core/MAX
378 RSHIFT https://forth-standard.org/standard/core/RSHIFT
379 LSHIFT https://forth-standard.org/standard/core/LSHIFT
380 INVERT https://forth-standard.org/standard/core/INVERT
381 1- https://forth-standard.org/standard/core/OneMinus
382 1+ https://forth-standard.org/standard/core/OnePlus
383 S>D https://forth-standard.org/standard/core/StoD
384 XOR https://forth-standard.org/standard/core/XOR
385 OR https://forth-standard.org/standard/core/OR
386 AND https://forth-standard.org/standard/core/AND
387 LEAVE https://forth-standard.org/standard/core/LEAVE
388 UNLOOP https://forth-standard.org/standard/core/UNLOOP
389 J https://forth-standard.org/standard/core/J
390 I https://forth-standard.org/standard/core/I
391 +LOOP https://forth-standard.org/standard/core/PlusLOOP
392 LOOP https://forth-standard.org/standard/core/LOOP
393 DO https://forth-standard.org/standard/core/DO
394 REPEAT https://forth-standard.org/standard/core/REPEAT
395 WHILE https://forth-standard.org/standard/core/WHILE
396 AGAIN https://forth-standard.org/standard/core/AGAIN
397 UNTIL https://forth-standard.org/standard/core/UNTIL
398 THEN https://forth-standard.org/standard/core/THEN
399 ELSE https://forth-standard.org/standard/core/ELSE
400 IF https://forth-standard.org/standard/core/IF
401 > https://forth-standard.org/standard/core/more
402 < https://forth-standard.org/standard/core/less
403 U< https://forth-standard.org/standard/core/Uless
404 = https://forth-standard.org/standard/core/Equal
405 0< https://forth-standard.org/standard/core/Zeroless
406 0= https://forth-standard.org/standard/core/ZeroEqual
407 C, https://forth-standard.org/standard/core/CComma
408 C! https://forth-standard.org/standard/core/CStore
409 C@ https://forth-standard.org/standard/core/CFetch
410 R> https://forth-standard.org/standard/core/Rfrom
411 >R https://forth-standard.org/standard/core/toR
412 NIP https://forth-standard.org/standard/core/NIP
413 DROP https://forth-standard.org/standard/core/DROP
414 SWAP https://forth-standard.org/standard/core/SWAP
415 DEPTH https://forth-standard.org/standard/core/DEPTH
416 EXIT https://forth-standard.org/standard/core/EXIT
417 ?DUP https://forth-standard.org/standard/core/qDUP
418 DUP https://forth-standard.org/standard/core/DUP
419 - https://forth-standard.org/standard/core/Minus
420 + https://forth-standard.org/standard/core/Plus
426 D.R 2LITERAL 2VALUE 2CONSTANT 2VARIABLE M*/ DMIN
427 DMAX D2* D2/ DABS DNEGATE D- M+
428 D+ DU< D< D= D0< D0= D>S
429 2ROT D. 2R> 2R@ 2>R {DOUBLE}
432 D.R https://forth-standard.org/standard/double/DDotR
433 2LITERAL https://forth-standard.org/standard/double/TwoLITERAL
434 2VALUE https://forth-standard.org/standard/double/TwoVALUE
435 2CONSTANT https://forth-standard.org/standard/double/TwoCONSTANT
436 2VARIABLE https://forth-standard.org/standard/double/TwoVARIABLE
437 M*/ https://forth-standard.org/standard/double/MTimesDiv
438 DMIN https://forth-standard.org/standard/double/DMIN
439 DMAX https://forth-standard.org/standard/double/DMAX
440 D2* https://forth-standard.org/standard/double/DTwoTimes
441 D2/ https://forth-standard.org/standard/double/DTwoDiv
442 DABS https://forth-standard.org/standard/double/DABS
443 DNEGATE https://forth-standard.org/standard/double/DNEGATE
444 D- https://forth-standard.org/standard/double/DMinus
445 M+ https://forth-standard.org/standard/double/MPlus
446 D+ https://forth-standard.org/standard/double/DPlus
447 DU< https://forth-standard.org/standard/double/DUless
448 D< https://forth-standard.org/standard/double/Dless
449 D= https://forth-standard.org/standard/double/DEqual
450 D0< https://forth-standard.org/standard/double/DZeroless
451 D0= https://forth-standard.org/standard/double/DZeroEqual
452 D>S https://forth-standard.org/standard/double/DtoS
453 2ROT https://forth-standard.org/standard/double/TwoROT
454 D. https://forth-standard.org/standard/double/Dd
455 2R> https://forth-standard.org/standard/core/TwoRfrom
456 2R@ https://forth-standard.org/standard/core/TwoRFetch
457 2>R https://forth-standard.org/standard/core/TwotoR
458 {DOUBLE} if you type {DOUBLE}, it and all subsequent words are removed
464 S>F F. F* F#S F/ F- F+
467 S>F u/n -- Qlo Qhi convert u/n in a s15.16 value
468 F. display a s15.16 value
469 F* s15.16 multiplication
470 F#S Qlo Qhi u -- Qhi 0
471 convert fractionnal part of a s15.16 value displaying u digits
473 F- s15.16 soustraction
475 HOLDS https://forth-standard.org/standard/core/HOLDS
476 {FIXPOINT} do nothing if compiled in core, else it and all subsequent loaded words are removed
481 DUMP U.R WORDS ? .RS .S {TOOLS}
483 DUMP https://forth-standard.org/standard/tools/DUMP
484 U.R u z -- display unsigned number u with size z
485 WORDS https://forth-standard.org/standard/tools/WORDS
486 ? https://forth-standard.org/standard/tools/q
487 .RS displays return stack content
488 .S https://forth-standard.org/standard/tools/DotS
489 {TOOLS} do nothing if compiled in core.
495 DIR FAT CLUSTER SECTOR {SD_TOOLS}
497 DIR dump first sector of current directory
498 FAT dump first sector of FAT1
499 CLUSTER .123 CLUSTER displays first sector of cluster 123
500 SECTOR .123456789 SECTOR displays sector 123456789
501 {SD_TOOLS} if you type {SD_TOOLS}, it and all subsequent words are removed