
RETURN-STACK-CELLS  = 48            maximum size of the return stack, in cells
STACK-CELLS         = 48            maximum size of the data stack, in cells
/COUNTED-STRING	    = 255           maximum size of a counted string, in characters
/HOLD	            = 34            size of the pictured numeric output string buffer, in characters
/PAD	            = 84            size of the scratch area pointed to by PAD, in characters
ADDRESS-UNIT-BITS   = 16            size of one address unit, in bits
FLOORED	            = true          true if floored division is the default
MAX-CHAR	        = 255           maximum value of any character in the implementation-defined character set
MAX-N               = 32767         largest usable signed integer
MAX-U               = 65535         largest usable unsigned integer
MAX-D	            = 2147483647    largest usable signed double number
MAX-UD              = 4294967295    largest usable unsigned double number
WoRdS aRe CaSe-InSeNsItIvE

FORTH word-set
----------------
RST_HERE        PWR_HERE        RST_STATE       PWR_STATE       CREATE          ;               :               IMMEDIATE       
POSTPONE        ]               [               \               '               [']             ABORT"          INTERPRET       
COUNT           LITERAL         ALLOT           ,               >NUMBER         FIND            WORD            ."              
S"              .               U.              SIGN            HOLD            #>              #S              #               
<#              !               @               CR              TYPE            NOECHO          ECHO            EMIT            
KEY             ACCEPT          COLD            WARM            WIPE            

RST_HERE        defines the bound of the program memory protected against COLD or hardware reset.
PWR_HERE        defines the bound of the program memory protected against ON/OFF and also against any error occurring.
RST_STATE       removes all words defined after RST_HERE (COLD or <reset> have same effet)
PWR_STATE       removes all words defined after PWR_HERE (an error has same effect)
INTERPRET       text interpreter, common part of EVALUATE and QUIT.
NOECHO          stop display on output 
ECHO            start display on output
CREATE          https://forth-standard.org/standard/core/CREATE
;               https://forth-standard.org/standard/core/Semi
:               https://forth-standard.org/standard/core/Colon
IMMEDIATE       https://forth-standard.org/standard/core/IMMEDIATE
POSTPONE        https://forth-standard.org/standard/core/POSTPONE
]               https://forth-standard.org/standard/core/right-bracket
[               https://forth-standard.org/standard/core/Bracket
\               https://forth-standard.org/standard/block/bs
[']             https://forth-standard.org/standard/core/BracketTick
'               https://forth-standard.org/standard/core/Tick
ABORT"          https://forth-standard.org/standard/core/ABORTq
COUNT           https://forth-standard.org/standard/core/COUNT
LITERAL         https://forth-standard.org/standard/core/LITERAL
ALLOT           https://forth-standard.org/standard/core/ALLOT
,               https://forth-standard.org/standard/core/Comma
>NUMBER         https://forth-standard.org/standard/core/toNUMBER
FIND            https://forth-standard.org/standard/core/FIND
WORD            https://forth-standard.org/standard/core/WORD
."              https://forth-standard.org/standard/core/Dotq
S"              https://forth-standard.org/standard/core/Sq
.               https://forth-standard.org/standard/core/d
U.              https://forth-standard.org/standard/core/Ud
SIGN            https://forth-standard.org/standard/core/SIGN
HOLD            https://forth-standard.org/standard/core/HOLD
#>              https://forth-standard.org/standard/core/num-end
#S              https://forth-standard.org/standard/core/numS
#               https://forth-standard.org/standard/core/num
<#              https://forth-standard.org/standard/core/num-start
!               https://forth-standard.org/standard/core/Store
@               https://forth-standard.org/standard/core/Fetch
CR              DEFERed word, https://forth-standard.org/standard/core/CR
TYPE            https://forth-standard.org/standard/core/TYPE
EMIT            DEFERed word, https://forth-standard.org/standard/core/EMIT
KEY             DEFERed word, https://forth-standard.org/standard/core/KEY
ACCEPT          DEFERed word, https://forth-standard.org/standard/core/ACCEPT
COLD            PFA of COLD content = STOP_APP subroutine address, by default --> STOP_TERM
WARM            PFA of WARM content = INI_APP subroutine address, by default --> ENABLE_IO
WIPE            resets the program memory to its original state (Deep_RST have same effect).

words added by the option MSP430ASSEMBLER:

ASM             CODE            HI2LO

CODE <word>     creates a word written in assembler. 
                this defined <word> must be ended with ENDCODE unless COLON or LO2HI use.
ASM <word>      creates a word written in assembler but not interpretable by FORTH (because ended by RET instr.).
                this defined <word> must be ended with ENDASM. Visible only from assembler
HI2LO           used to switch compilation from high level (FORTH) to low level (assembler).

Other words are useable via the preprocessor GEMA and they address is in \inc\device.pat file :

SLEEP               CODE_WITHOUT_RETURN: CPU shutdown
LIT                 CODE compiled by LITERAL
XSQUOTE             CODE compiled by S" and S_
HEREXEC             CODE HERE and BEGIN execute address
QFBRAN              CODE compiled by IF UNTIL
BRAN                CODE compiled by ELSE REPEAT AGAIN
NEXT_ADR            CODE NEXT instruction (MOV @IP+,PC)
XDO                 CODE compiled by DO
XPLOOP              CODE compiled by +LOOP
XLOOP               CODE compiled by LOOP
MUSMOD              ASM 32/16 unsigned division, used by ?NUMBER, UM/MOD
MDIV1DIV2           ASM input for 48/16 unsigned division with DVDhi=0, see DOUBLE M*/
MDIV1               ASM input for 48/16 unsigned division, see DOUBLE M*/
RET_ADR             ASM content of INI_FORTH_PFA and MARKER+8 definitions,
SETIB               CODE Set Input Buffer with org & len values, reset >IN pointer
REFILL              CODE accept one line from input and leave org len of input buffer
CIB_ADR             [CIB_ADR] = TIB_ORG by default; may be redirected to SDIB_ORG
XDODOES             restore rDODOES: MOV #XDODOES,rDODOES
XDOCON              restore rDOCON: MOV #XDOCON,rDOCON
XDOVAR              restore rDOVAR: MOV #XDOVAR,rDOVAR
!to find DTC value, download \MSP430-FORTH\FF_SPECS.4th
!XDOCOL             if DTC = 1, restore rDOCOL as this: MOV #TYPE+-16,rDOCOL
!XDOCOL             if DTC = 2, restore rDOCOL as this: MOV ##S+16,rDOCOL
!                   if DTC = 3, nothing to do, R7 is free for use.
INI_FORTH           CODE_WITHOUT_RETURN common part of RST and QABORT, starts FORTH engine
QABORT              CODE_WITHOUT_RETURN run-time part of ABORT"
3DROP               CODE 
ABORT_TERM          CODE_WITHOUT_RETURN called by QREVEAL and INTERPRET   
!-------------------------------------------------------------------------------
UART_COLD_TERM      ASM, content of COLD_PFA by default
UART_INIT_TERM      ASM, content of WARM_PFA by default
UART_RXON           ASM, content of SLEEP_PFA by default
UART_RXOFF          ASM, called by ACCEPT before RX char LF.
!-------------------------------------------------------------------------------
I2C_COLD_TERM       ASM, content of COLD_PFA by default
I2C_INIT_TERM       ASM, content of WARM_PFA by default
I2C_RXON            ASM, content of SLEEP_PFA by default
I2C_CTRL_CH         ASM, used as is: MOV.B #CTRL_CHAR,Y
!                                    CALL #I2C_CTRL_CH
!-------------------------------------------------------------------------------

MSP430ASSEMBLER word-set
--------------------

?GOTO           GOTO            FW3             FW2             FW1             BW3             BW2             
BW1             REPEAT          WHILE           AGAIN           UNTIL           ELSE            THEN            
IF              0=              0<>             U>=             U<              0<              0>=             
S<              S>=             RRUM            RLAM            RRAM            RRCM            POPM            
PUSHM           CALL            PUSH.B          PUSH            SXT             RRA.B           RRA             
SWPB            RRC.B           RRC             AND.B           AND             XOR.B           XOR             
BIS.B           BIS             BIC.B           BIC             BIT.B           BIT             DADD.B          
DADD            CMP.B           CMP             SUB.B           SUB             SUBC.B          SUBC            
ADDC.B          ADDC            ADD.B           ADD             MOV.B           MOV             RETI            
LO2HI           COLON           ENDASM          ENDCODE

see: http://www.ece.utep.edu/courses/web3376/Notes_files/ee3376-isa.pdf
     readme.md for symbolic alias of registers, symbolic jumps (IF ELSE THEN...),..

?GOTO           used after a conditionnal (0=,0<>,U>=,U<,0<,S<,S>=) to branch to a label FWx or BWx
GOTO            used as unconditionnal branch to a label FWx or BWx
BW3             BACKWARD branch destination n°3
BW2                                         n°2
BW1                                         n°1
FW3             FORWARD branch destination  n°3
FW2                                         n°2
FW1                                         n°1
REPEAT          assembler version of the FORTH word REPEAT
WHILE           idem
AGAIN           idem
UNTIL           idem
ELSE            idem
THEN            idem
IF              idem
0=              conditionnal     
0<>             conditionnal
U>=             conditionnal
U<              conditionnal
0<              conditionnal, to use only with ?GOTO
0>=             conditionnal, to use only with IF UNTIL WHILE
S<              conditionnal
S>=             conditionnal
LO2HI           switches compilation between low level and high level modes without saving IP register.
COLON           pushes IP then performs LO2HI, used as: CODE <word> ... assembler instr ... COLON ... FORTH words ... ;
ENDASM          to end an ASM definition.
ENDCODE         to end a CODE definition.

ADD     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=135
ADDC    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=136
AND     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=137
BIC     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=138
BIS     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=139
BIT     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=140
CALL    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=142
CMP     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=147
DADD    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=149
MOV     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=165
PUSH    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=168
RETI    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=170
RRA     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=173
RRC     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=174
SUB     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=179
SUBC    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=180
SWPB    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=181
SXT     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=182
XOR     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=184

RRUM    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=218
RLAM    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=208
RRAM    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=211
RRCM    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=214
POPM    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=204
PUSHM   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=205

EXTENDED_MEM WORDS set:

POPM.A  http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=204
PUSHM.A http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=205
ADDA    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=229
CALLA   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=232
CMPA    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=235
MOVA    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=238
SUBA    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=241

EXTENDED_ASM WORDS set:

ADDX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=187
ADDCX   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=188
ANDX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=189
BICX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=190
BISX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=191
BITX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=192
CMPX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=194
DADDX   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=196
MOVX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=202
PUSHX   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=207
RRAX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=212
RRCX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=216
RRUX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=219
SUBX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=221
SUBCX   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=222
SWPBX   http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=223
SXTX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=225
XORX    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=227

RPT     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=219

CONDCOMP ADD-ON
---------------
MARKER          [DEFINED]       [UNDEFINED]     [IF]            [ELSE]          [THEN]        

MARKER          https://forth-standard.org/standard/core/MARKER
[DEFINED]       https://forth-standard.org/standard/tools/BracketDEFINED
[UNDEFINED]     https://forth-standard.org/standard/tools/BracketUNDEFINED
[IF]            https://forth-standard.org/standard/tools/BracketIF
[ELSE]          https://forth-standard.org/standard/tools/BracketELSE
[THEN]          https://forth-standard.org/standard/tools/BracketTHEN


VOCABULARY ADD-ON
-----------------
DEFINITIONS     ONLY            PREVIOUS        ALSO            ASSEMBLER       FORTH           VOCABULARY

DEFINITIONS     https://forth-standard.org/standard/search/DEFINITIONS
ONLY            https://forth-standard.org/standard/search/ONLY
PREVIOUS        https://forth-standard.org/standard/search/PREVIOUS
ALSO            https://forth-standard.org/standard/search/ALSO
ASSEMBLER       assembler VOCABULARY
FORTH           FORTH VOCABULARY
VOCABULARY <word>     creates a new VOCABULARY named word


NONAME ADD-ON
-------------
CODENNM         IS              DEFER           :NONAME         

:NONAME         https://forth-standard.org/standard/core/ColonNONAME 
CODENNM         assembly counterpart of :NONAME
DEFER           https://forth-standard.org/standard/core/DEFER
IS              https://forth-standard.org/standard/core/IS


SD_CARD_LOADER ADD-ON
---------------------
LOAD"

LOAD"           LOAD" SD_TEST.4TH" loads source file SD_TEST.4TH from SD_Card and compile it.

ACCEPT becomes a DEFERed word


SD_CARD_READ_WRITE ADD-ON
-------------------------
TERM2SD"        SD_EMIT         WRITE           READ            CLOSE           DEL"            WRITE"          
READ"

TERM2SD"        TERM2SD" SD_TEST.4TH" copy input file to SD_CARD (use CopySourceFileToTarget_SD_Card.bat to do)
SD_EMIT         sends output stream at the end of last opened as write file.
WRITE           write sequentially BUFFER content to a sector
READ            read sequentially a sector to BUFFER
CLOSE           close last opened file.
DEL"            DEL" SD_TEST.4TH" remove this file from SD_CARD.
WRITE"          WRITE" TRUC" open or create TRUC file ready to write to the end of this file
READ"           READ" TRUC" open TRUC and load its first sector in BUFFER



BOOTLOADER
----------
BOOT

QUIT becomes a DEFERed word


; when ADD-ONs are compiled into the kernel, their respective MARKER word identified with braces {} does nothing.
; when ADD-ONs are downloaded, their respective MARKER word identified with braces {} removes all ADD-ONs words.


ANS_COMPLEMENT ADD-ON
---------------------
VALUE           TO              SPACES          SPACE           BL              PAD             >IN             
BASE            STATE           CONSTANT        VARIABLE        SOURCE          RECURSE         EVALUATE        
EXECUTE         >BODY           .(              (               DECIMAL         HEX             HERE            
FILL            MOVE            +!              [CHAR]          CHAR            CELL+           CELLS           
CHAR+           CHARS           ALIGN           ALIGNED         2OVER           2SWAP           2DROP           
2DUP            2!              2@              R@              ROT             OVER            */              
*/MOD           MOD             /               /MOD            *               FM/MOD          ABS             
NEGATE          SM/REM          UM/MOD          M*              UM*             2/              2*              
MIN             MAX             RSHIFT          LSHIFT          INVERT          1-              1+              
S>D             XOR             OR              AND             LEAVE           UNLOOP          J               
I               +LOOP           LOOP            DO              REPEAT          WHILE           AGAIN           
UNTIL           ELSE            THEN            IF              >               <               U<              
=               0<              0=              C,              C!              C@              R>              
>R              NIP             DROP            SWAP            DEPTH           EXIT            ?DUP            
DUP             -               +               DOES>           BEGIN           {CORE_COMP}

VALUE           https://forth-standard.org/standard/core/VALUE
TO              https://forth-standard.org/standard/core/TO
BEGIN           https://forth-standard.org/standard/core/BEGIN
DOES>           https://forth-standard.org/standard/core/DOES
SPACES          https://forth-standard.org/standard/core/SPACES
SPACE           https://forth-standard.org/standard/core/SPACE
BL              https://forth-standard.org/standard/core/BL
PAD             https://forth-standard.org/standard/core/PAD            
>IN             https://forth-standard.org/standard/core/toIN
BASE            https://forth-standard.org/standard/core/BASE
STATE           https://forth-standard.org/standard/core/STATE
CONSTANT        https://forth-standard.org/standard/core/CONSTANT
VARIABLE        https://forth-standard.org/standard/core/VARIABLE
SOURCE          https://forth-standard.org/standard/core/SOURCE
RECURSE         https://forth-standard.org/standard/core/RECURSE
EVALUATE        https://forth-standard.org/standard/core/EVALUATE
EXECUTE         https://forth-standard.org/standard/core/EXECUTE
>BODY           https://forth-standard.org/standard/core/toBODY
.(              https://forth-standard.org/standard/core/Dotp
(               https://forth-standard.org/standard/core/p
DECIMAL         https://forth-standard.org/standard/core/DECIMAL
HEX             https://forth-standard.org/standard/core/HEX
HERE            https://forth-standard.org/standard/core/HERE
FILL            https://forth-standard.org/standard/core/FILL
MOVE            https://forth-standard.org/standard/core/MOVE
+!              https://forth-standard.org/standard/core/PlusStore
[CHAR]          https://forth-standard.org/standard/core/BracketCHAR
CHAR            https://forth-standard.org/standard/core/CHAR
CELL+           https://forth-standard.org/standard/core/CELLPlus
CELLS           https://forth-standard.org/standard/core/CELLS
CHAR+           https://forth-standard.org/standard/core/CHARPlus
CHARS           https://forth-standard.org/standard/core/CHARS
ALIGN           https://forth-standard.org/standard/core/ALIGN
ALIGNED         https://forth-standard.org/standard/core/ALIGNED
2OVER           https://forth-standard.org/standard/core/TwoOVER
2SWAP           https://forth-standard.org/standard/core/TwoSWAP
2DROP           https://forth-standard.org/standard/core/TwoDROP
2DUP            https://forth-standard.org/standard/core/TwoDUP
2!              https://forth-standard.org/standard/core/TwoStore
2@              https://forth-standard.org/standard/core/TwoFetch
R@              https://forth-standard.org/standard/core/RFetch
ROT             https://forth-standard.org/standard/core/ROT
OVER            https://forth-standard.org/standard/core/OVER
*/              https://forth-standard.org/standard/core/TimesDiv
*/MOD           https://forth-standard.org/standard/core/TimesDivMOD
MOD             https://forth-standard.org/standard/core/MOD
/               https://forth-standard.org/standard/core/Div
/MOD            https://forth-standard.org/standard/core/DivMOD
*               https://forth-standard.org/standard/core/Times
FM/MOD          https://forth-standard.org/standard/core/FMDivMOD
ABS             https://forth-standard.org/standard/core/ABS
NEGATE          https://forth-standard.org/standard/core/NEGATE
SM/REM          https://forth-standard.org/standard/core/SMDivREM
UM/MOD          https://forth-standard.org/standard/core/UMDivMOD
M*              https://forth-standard.org/standard/core/MTimes
UM*             https://forth-standard.org/standard/core/UMTimes
2/              https://forth-standard.org/standard/core/TwoDiv
2*              https://forth-standard.org/standard/core/TwoTimes
MIN             https://forth-standard.org/standard/core/MIN
MAX             https://forth-standard.org/standard/core/MAX
RSHIFT          https://forth-standard.org/standard/core/RSHIFT
LSHIFT          https://forth-standard.org/standard/core/LSHIFT
INVERT          https://forth-standard.org/standard/core/INVERT
1-              https://forth-standard.org/standard/core/OneMinus
1+              https://forth-standard.org/standard/core/OnePlus
S>D             https://forth-standard.org/standard/core/StoD
XOR             https://forth-standard.org/standard/core/XOR
OR              https://forth-standard.org/standard/core/OR
AND             https://forth-standard.org/standard/core/AND
LEAVE           https://forth-standard.org/standard/core/LEAVE
UNLOOP          https://forth-standard.org/standard/core/UNLOOP
J               https://forth-standard.org/standard/core/J
I               https://forth-standard.org/standard/core/I
+LOOP           https://forth-standard.org/standard/core/PlusLOOP
LOOP            https://forth-standard.org/standard/core/LOOP
DO              https://forth-standard.org/standard/core/DO        
REPEAT          https://forth-standard.org/standard/core/REPEAT
WHILE           https://forth-standard.org/standard/core/WHILE
AGAIN           https://forth-standard.org/standard/core/AGAIN
UNTIL           https://forth-standard.org/standard/core/UNTIL
THEN            https://forth-standard.org/standard/core/THEN
ELSE            https://forth-standard.org/standard/core/ELSE
IF              https://forth-standard.org/standard/core/IF
>               https://forth-standard.org/standard/core/more
<               https://forth-standard.org/standard/core/less
U<              https://forth-standard.org/standard/core/Uless
=               https://forth-standard.org/standard/core/Equal
0<              https://forth-standard.org/standard/core/Zeroless
0=              https://forth-standard.org/standard/core/ZeroEqual
C,              https://forth-standard.org/standard/core/CComma
C!              https://forth-standard.org/standard/core/CStore
C@              https://forth-standard.org/standard/core/CFetch
R>              https://forth-standard.org/standard/core/Rfrom
>R              https://forth-standard.org/standard/core/toR
NIP             https://forth-standard.org/standard/core/NIP
DROP            https://forth-standard.org/standard/core/DROP
SWAP            https://forth-standard.org/standard/core/SWAP
DEPTH           https://forth-standard.org/standard/core/DEPTH
EXIT            https://forth-standard.org/standard/core/EXIT
?DUP            https://forth-standard.org/standard/core/qDUP
DUP             https://forth-standard.org/standard/core/DUP
-               https://forth-standard.org/standard/core/Minus
+               https://forth-standard.org/standard/core/Plus
{CORE_COMP}


DOUBLE word set
---------------
D.R             2LITERAL        2VALUE          2CONSTANT       2VARIABLE       M*/             DMIN            
DMAX            D2*             D2/             DABS            DNEGATE         D-              M+              
D+              DU<             D<              D=              D0<             D0=             D>S             
2ROT            D.              2R>             2R@             2>R             {DOUBLE}


D.R             https://forth-standard.org/standard/double/DDotR
2LITERAL        https://forth-standard.org/standard/double/TwoLITERAL
2VALUE          https://forth-standard.org/standard/double/TwoVALUE
2CONSTANT       https://forth-standard.org/standard/double/TwoCONSTANT
2VARIABLE       https://forth-standard.org/standard/double/TwoVARIABLE
M*/             https://forth-standard.org/standard/double/MTimesDiv
DMIN            https://forth-standard.org/standard/double/DMIN
DMAX            https://forth-standard.org/standard/double/DMAX
D2*             https://forth-standard.org/standard/double/DTwoTimes
D2/             https://forth-standard.org/standard/double/DTwoDiv
DABS            https://forth-standard.org/standard/double/DABS
DNEGATE         https://forth-standard.org/standard/double/DNEGATE
D-              https://forth-standard.org/standard/double/DMinus
M+              https://forth-standard.org/standard/double/MPlus
D+              https://forth-standard.org/standard/double/DPlus
DU<             https://forth-standard.org/standard/double/DUless
D<              https://forth-standard.org/standard/double/Dless
D=              https://forth-standard.org/standard/double/DEqual
D0<             https://forth-standard.org/standard/double/DZeroless
D0=             https://forth-standard.org/standard/double/DZeroEqual
D>S             https://forth-standard.org/standard/double/DtoS
2ROT            https://forth-standard.org/standard/double/TwoROT
D.              https://forth-standard.org/standard/double/Dd
2R>             https://forth-standard.org/standard/core/TwoRfrom
2R@             https://forth-standard.org/standard/core/TwoRFetch
2>R             https://forth-standard.org/standard/core/TwotoR
{DOUBLE}        if you type {DOUBLE}, it and all subsequent words are removed


FIXPOINT ADD-ON
---------------

S>F             F.              F*              F#S             F/              F-              F+              
HOLDS           {FIXPOINT}

S>F             u/n -- Qlo Qhi       convert u/n in a s15.16 value
F.              display a s15.16 value
F*              s15.16 multiplication  
F#S             Qlo Qhi u -- Qhi 0    
                convert fractionnal part of a s15.16 value displaying u digits
F/              s15.16 division        
F-              s15.16 soustraction
F+              s15.16 addition
HOLDS           https://forth-standard.org/standard/core/HOLDS
{FIXPOINT}      do nothing if compiled in core, else it and all subsequent loaded words are removed

UTILITY ADD-ON
--------------

DUMP            U.R             WORDS           ?               .RS             .S              {TOOLS}

DUMP            https://forth-standard.org/standard/tools/DUMP  
U.R   u z --    display unsigned number u with size z
WORDS           https://forth-standard.org/standard/tools/WORDS 
?               https://forth-standard.org/standard/tools/q
.RS             displays return stack content
.S              https://forth-standard.org/standard/tools/DotS
{TOOLS}         do nothing if compiled in core.


SD_TOOLS ADD-ON
---------------

DIR             FAT             CLUSTER         SECTOR          {SD_TOOLS}

DIR             dump first sector of current directory
FAT             dump first sector of FAT1
CLUSTER         .123 CLUSTER displays first sector of cluster 123
SECTOR          .123456789 SECTOR displays sector 123456789
{SD_TOOLS}      if you type {SD_TOOLS}, it and all subsequent words are removed


