OSDN Git Service

Merge branch 'master' of https://framagit.org/Jean-Mi/FAST-FORTH
[fast-forth/master.git] / FastForthWords.txt
index b23c42d..8995418 100644 (file)
 
-FORTH vocabulary
+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
 ----------------
-COLD            WARM            WIPE            RST_HERE        PWR_HERE        RST_STATE       PWR_STATE       
-MOVE            LEAVE           +LOOP           LOOP            DO              REPEAT          WHILE           
-AGAIN           UNTIL           BEGIN           THEN            ELSE            IF              >BODY           
-DEFER           DOES>           CREATE          CONSTANT        VARIABLE        :               ;               
-POSTPONE        RECURSE         IMMEDIATE       IS              [']             ]               [               
-\               '               ABORT"          ABORT           QUIT            EVALUATE        COUNT           
-LITERAL         ,               EXECUTE         >NUMBER         FIND            WORD            ."              
-S"              CR              TYPE            SPACES          SPACE           NOECHO          ECHO            
-EMIT            ACCEPT          KEY             C,              ALLOT           HERE            .               
-D.              U.              SIGN            HOLD            #>              #S              #               
-UM/MOD          <#              STATE           BASE            BL              J               I               
-UNLOOP          U<              >               <               =               0<              0=              
-DABS            1-              1+              1-              1+              -               +               
-C!              C@              !               @               DEPTH           R@              R>              
->R              ROT             OVER            SWAP            NIP             DROP            ?DUP            
-DUP             LIT             EXIT
-
-COLD            Software reset
-
-WARM            DEFERed word, by default executes ABORT" <WARM_message>"
-
-WIPE            resets the program memory to its original state (Deep_RST adds same effect to COLD).
+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 occurring error has same effect)
-
-MOVE            https://forth-standard.org/standard/core/MOVE
-LEAVE           https://forth-standard.org/standard/core/LEAVE
-+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
-BEGIN           https://forth-standard.org/standard/core/BEGIN
-THEN            https://forth-standard.org/standard/core/THEN
-ELSE            https://forth-standard.org/standard/core/ELSE
-IF              https://forth-standard.org/standard/core/IF
+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
-DEFER           https://forth-standard.org/standard/core/DEFER
-DOES>           https://forth-standard.org/standard/core/DOES
-CREATE          https://forth-standard.org/standard/core/CREATE
-CONSTANT        https://forth-standard.org/standard/core/CONSTANT
-VARIABLE        https://forth-standard.org/standard/core/VARIABLE
-POSTPONE        https://forth-standard.org/standard/core/POSTPONE
-RECURSE         https://forth-standard.org/standard/core/RECURSE
 IMMEDIATE       https://forth-standard.org/standard/core/IMMEDIATE
-IS              https://forth-standard.org/standard/core/IS
-[']             https://forth-standard.org/standard/core/BracketTick
+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
-ABORT           https://forth-standard.org/standard/core/ABORT
-QUIT            https://forth-standard.org/standard/core/QUIT
-EVALUATE        https://forth-standard.org/standard/core/EVALUATE
 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
-EXECUTE         https://forth-standard.org/standard/core/EXECUTE
 >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
-TYPE            https://forth-standard.org/standard/core/TYPE
-SPACES          https://forth-standard.org/standard/core/SPACES
-SPACE           https://forth-standard.org/standard/core/SPACE
-CR              DEFERed word, https://forth-standard.org/standard/core/CR
-NOECHO          stop display on output 
-ECHO            start display on output
-EMIT            DEFERed word, https://forth-standard.org/standard/core/EMIT
-ACCEPT          DEFERed word, https://forth-standard.org/standard/core/ACCEPT
-KEY             DEFERed word, https://forth-standard.org/standard/core/KEY
-C,              https://forth-standard.org/standard/core/CComma
-ALLOT           https://forth-standard.org/standard/core/ALLOT
-HERE            https://forth-standard.org/standard/core/HERE
 .               https://forth-standard.org/standard/core/d
-D.              https://forth-standard.org/standard/double/Dd
 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
-UM/MOD          https://forth-standard.org/standard/core/UMDivMOD
 <#              https://forth-standard.org/standard/core/num-start
-BL              https://forth-standard.org/standard/core/BL
-STATE           https://forth-standard.org/standard/core/STATE
-BASE            https://forth-standard.org/standard/core/BASE
-J               https://forth-standard.org/standard/core/J
-I               https://forth-standard.org/standard/core/I
-UNLOOP          https://forth-standard.org/standard/core/UNLOOP
-U<              https://forth-standard.org/standard/core/Uless
->               https://forth-standard.org/standard/core/more
-<               https://forth-standard.org/standard/core/less
-=               https://forth-standard.org/standard/core/Equal
-0<              https://forth-standard.org/standard/core/Zeroless
-0=              https://forth-standard.org/standard/core/ZeroEqual
-DABS            https://forth-standard.org/standard/double/DABS
-ABS             https://forth-standard.org/standard/core/ABS
-NEGATE          https://forth-standard.org/standard/core/NEGATE
-1-              https://forth-standard.org/standard/core/OneMinus
-1+              https://forth-standard.org/standard/core/OnePlus
--               https://forth-standard.org/standard/core/Minus
-+               https://forth-standard.org/standard/core/Plus
-C!              https://forth-standard.org/standard/core/CStore
-C@              https://forth-standard.org/standard/core/CFetch
 !               https://forth-standard.org/standard/core/Store
 @               https://forth-standard.org/standard/core/Fetch
-DEPTH           https://forth-standard.org/standard/core/DEPTH
-R@              https://forth-standard.org/standard/core/RFetch
-R>              https://forth-standard.org/standard/core/Rfrom
->R              https://forth-standard.org/standard/core/toR
-ROT             https://forth-standard.org/standard/core/ROT
-OVER            https://forth-standard.org/standard/core/OVER
-SWAP            https://forth-standard.org/standard/core/SWAP
-NIP             https://forth-standard.org/standard/core/NIP
-DROP            https://forth-standard.org/standard/core/DROP
-?DUP            https://forth-standard.org/standard/core/qDUP
-DUP             https://forth-standard.org/standard/core/DUP
-LIT             execution part of LITERAL            
-EXIT            https://forth-standard.org/standard/core/EXIT
+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).
 
-ASSEMBLER vocabulary
+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             ?JMP            JMP             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         SLEEP
-
-ASM             CODE            HI2LO           (added in forth vocabulary)
+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
-
-?JMP            used after a conditionnal (0=,0<>,U>=,U<,0<,S<,S>=) to jump to a predefined word
-JMP             unconditionnal jump to a predefined word
-
+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
@@ -174,75 +153,89 @@ UNTIL           idem
 ELSE            idem
 THEN            idem
 IF              idem
-
 0=              conditionnal     
 0<>             conditionnal
 U>=             conditionnal
 U<              conditionnal
-0<              conditionnal, to use only with ?JMP ?GOTO
+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.
-SLEEP           DEFERed word which enables to create a background task, default SLEEP definition: MOV #GIE+LPM0,SR
-
-next assembler words are set in FORTH vocabulary:
-
-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. 
-                This word will be recognized only in assembler mode. 
-
-HI2LO           used to switch compilation from high level (FORTH) to low level (assembler).
-
-
-ASSEMBLER WORDS set:
-
-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
-
-CALL            http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=142
-PUSH.B  PUSH    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=168
-SXT             http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=182
-RRA.B   RRA     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=173
-SWPB            http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=181
-RRC.B   RRC     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=174
-AND.B   AND     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=137
-XOR.B   XOR     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=184
-BIS.B   BIS     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=139
-BIC.B   BIC     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=138
-BIT.B   BIT     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=140
-DADD.B  DADD    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=149
-CMP.B   CMP     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=147
-SUB.B   SUB     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=179
-SUBC.B  SUBC    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=180
-ADDC.B  ADDC    http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=136
-ADD.B   ADD     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=135
-MOV.B   MOV     http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=165
-RETI            http://www.ti.com/lit/ug/slau272d/slau272d.pdf#page=170
 
+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]          COMPARE         
+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
-COMPARE         https://forth-standard.org/standard/string/COMPARE
-MARKER          https://forth-standard.org/standard/core/MARKER
 
 
 VOCABULARY ADD-ON
@@ -259,19 +252,20 @@ VOCABULARY <word>     creates a new VOCABULARY named word
 
 
 NONAME ADD-ON
----------------------
-:NONAME         CODENNM
+-------------
+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"           CIB
+LOAD"
 
-LOAD"           LOAD" SD_TEST.4TH" loads and compile source file SD_TEST.4TH.
-CIB             Currrent Input Buffer, TIB by default.
+LOAD"           LOAD" SD_TEST.4TH" loads source file SD_TEST.4TH from SD_Card and compile it.
 
 ACCEPT becomes a DEFERed word
 
@@ -305,49 +299,65 @@ QUIT becomes a DEFERed word
 
 ANS_COMPLEMENT ADD-ON
 ---------------------
-PAD             SOURCE          .(              (               DECIMAL         HEX             
-FILL            [CHAR]          CHAR            +!              MIN             MAX             2/              
-2*              RSHIFT          LSHIFT          XOR             OR              AND             INVERT          
-2OVER           2SWAP           2DROP           2DUP            2!              2@              S>D             
-CELL+           CELLS           CHAR+           CHARS           ALIGN           ALIGNED         */              
-*/MOD           MOD             /               /MOD            *               FM/MOD          SM/REM          
-M*              UM*             {ANS_COMP}
-
+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
->BODY           https://forth-standard.org/standard/core/toBODY
+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
-+!              https://forth-standard.org/standard/core/PlusStore
-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
-XOR             https://forth-standard.org/standard/core/XOR
-OR              https://forth-standard.org/standard/core/OR
-AND             https://forth-standard.org/standard/core/AND
-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
-S>D             https://forth-standard.org/standard/core/StoD
 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
@@ -355,19 +365,105 @@ MOD             https://forth-standard.org/standard/core/MOD
 /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
-{ANS_COMP}
+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}
 
 
-FIXPOINT ADD-ON
+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}
 
-2CONSTANT       S>F             F.              F*              F#S             
-F/              F-              F+              HOLDS           {FIXPOINT}
 
+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  
@@ -377,7 +473,7 @@ 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 remove all FIXPOINT add-on.
+{FIXPOINT}      do nothing if compiled in core, else it and all subsequent loaded words are removed
 
 UTILITY ADD-ON
 --------------
@@ -402,6 +498,6 @@ 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}  all subsequent loaded words are removed
+{SD_TOOLS}      if you type {SD_TOOLS}, it and all subsequent words are removed