FORTH Glossary of Words for Flashforth

All words / Tous les mots

Filtrage / Filtering


!  ( n addr -- ) voc: forth
Store n to address.
...see more...

!p  ( addr -- ) voc: forth
Store addr to p(ointer) register.

!p>r  ( addr -- ) voc: forth
Push contents of p to return stack and stor addr to p

#  ( ud1 -- ud2 ) voc: forth
Convert 1 digit to formatted numeric string.

#>  ( ud1 -- c-addr u ) voc: forth
COMPILE_ONLY
Leave address and count of formatted numeric string.

#s  ( ud1 -- ud2 ) voc: forth
COMPILE_ONLY
Convert remaining digits to formatted numeric output

'  ( -- cfa ) voc: forth
Parse word and find it in dictionary. If found, leave the cfa of this word.
...see more...

'emit  ( -- addr ) voc: forth
User Variable. EMIT vector. TX0, TX1, TX2 or TXU.
emit vector. Default is tx1.

'key  ( -- addr ) voc: forth
User variable.
key vector. RX0, RX1, RX2, RX3 or RXU

'key?  ( -- addr ) voc: forth
User Variable.
key? vector. RX0?, RX1?, RX2?, RX3? or RXU?

'source  ( -- addr ) voc: forth
User Variable.
Current input source.

(  ( -- ) voc: forth
Skip input on the same line until ) is encountered.

*  ( n1 n2 -- n1*n2 )   ANSI voc: forth
Integer multiplication of two numbers.
...see more...

*/  ( n1 n2 n3 -- n4=(n1*n2)/n3 ) voc: forth
Multiply n1 by n2 producing the intermediate double-cell result d. Divide d by n3 giving the single-cell quotient n4.
...see more...

*/mod  ( n1 n2 n3 -- rem quot ) voc: forth
Multiply n1 with n2 and divide with n3 via 32-bit intermediate result.

+  ( n1 n2 -- n3=n1+n2 ) voc: forth
Addition of two signed single precision integers.
...see more...

+!  ( n addr -- ) voc: forth
Increments the content of a variable by the value n
...see more...

,  ( x -- ) voc: forth
Append x to the current data section.

,"  ( -- string" ) voc: forth
Append a string at HERE.

-  ( n1 n2 -- n3=n1-n2 )   ANSI voc: forth
Subtract two integers.
...see more...

-@  ( addr -- addr-2 n ) voc: forth
Fetch from addr and decrement addr by 2

.  ( n -- ) voc: forth
Remove the value at the top of the stack and display it as a signed single precision integer.
...see more...

."  ( -- <string> ) voc: forth
The word ." can only be used in a compiled definition.
At runtime, it displays the text between this word and the delimiting " character end of string.
...see more...

.id  ( nfa-addr -- ) voc: forth
Displays the name of a token, given its name field address.

.s  ( -- ) voc: forth
Displays the content of the data stack, with no action on the content of this stack.

.st  ( -- ) voc: forth
Emit status string for base, current data section, and display the stack contents.

/  ( n1 n2 -- n3 ) voc: forth
Divide n1 by n2, giving the single-cell quotient n3.
...see more...

/mod  ( n n -- rem quot ) voc: forth
16/16 -> 16-bit signed division.

/string  ( addr u n -- addr+n u-n ) voc: forth
Trim string.

0<  ( n -- fl ) voc: forth
Leave true flag if n is less than zero.

0=  ( x -- fl ) voc: forth
flag is true if and only if x is equal to zero.
...see more...

1  ( -- 1 ) voc: forth
Predefined constant. Stacks the value 1

1+  ( n -- n+1 ) voc: forth
Increments the value at the top of the stack.
...see more...

1-  ( n -- n-1 ) voc: forth
Decrements the value at the top of the stack.
...see more...

2*  ( n -- n*2 ) voc: forth
Multiply n by two.
...see more...

2+  ( n -- n+2 ) voc: forth
Increments 2 the value at the top of the stack.
...see more...

2-  ( n -- n-2 ) voc: forth
Decrements 2 the value at the top of the stack.
...see more...

2/  ( n -- n/2 ) voc: forth
Divide n by two.
...see more...

2@  ( addr -- x1 x2 ) voc: forth
Fetch two cells

2constant  ( comp: d -- <name> | exec: -- d ) voc: forth
Creation word. Defines a double precision constant.
...see more...

2drop  ( d -- ) voc: forth
Removes the double-precision integer that was there from the top of the data stack.
...see more...

2dup  ( d -- d d ) voc: forth
Copies the double-precision number at the top of the data stack. Equivalent to n1 n2 --- n1 n2 n1 n2.
...see more...

2variable  ( comp: -- <name> | exec: -- addr ) voc: forth
Creation word. Defines a double precision variable.
...see more...

4*  ( n -- n*4 ) voc: forth
Multiply n by four.
...see more...

:  ( comp: -- )   ANSI voc: forth
The word : is the most used creation word in FORTH.
...see more...

:noname  ( -- cfa ) voc: forth
Define headerless forth code. cfa-addr is the code execution of a definition.
...see more...

;  ( -- )   ANSI voc: forth
Immediate execution word usually ending the compilation of a "colon" definition.
...see more...

;i  ( -- ) voc: forth
mmediate execution word completing the compilation of a "colon" definition but intended to be used through an interruption.
...see more...

<  ( x1 x2 -- fl ) voc: forth
Test if x1 is less than x2.

<#  ( -- ) voc: forth
Compile Only
Begin numeric conversion
...see more...

<>  ( x1 x2 -- fl ) voc: forth
flag is true if and only if x1 is different x2.
...see more...

=  ( x1 x2 -- fl ) voc: forth
flag is true if and only if x1 is equal x2.
...see more...

>  ( x1 x2 -- fl ) voc: forth
Test if x1 is greater than x2.

>a  ( x -- ) voc: forth
Write to the A register.

>body  ( cfa -- pfa ) voc: forth
pfa is the data-field address corresponding to cfa.

>in  ( -- addr ) voc: forth
User Variable.
Holds offset into tib.

>pr  ( c -- c ) voc: forth
Convert a character to a graphic ASCII value.
Non-graphic characters are converted to a dot.

>r  ( x -- | R: -- x ) voc: forth
COMPILE_ONLY.
Push x from the parameter stack to the return stack.

?abort  ( flag c-addr u -- ) voc: forth
Print message and abort if flag is false.

?abort?  ( flag -- ) voc: forth
If flag is false output ? and abort

?dnegate  ( d n -- d ) voc: forth
Negate d if n is negative.

?negate  ( n1 n2 -- n3 ) voc: forth
Negate n1 if n2 is negative.

@  ( addr -- n ) voc: forth
Retrieves the integer value n stored at address addr.
...see more...

@+  ( a-addr1 -- a-addr2 x ) voc: forth
Fetch cell from a-addr1 and increment a-addr1 by cellsize.

@ex  ( addr -- ) voc: forth
Fetch vector from addr and execute.

@p  ( -- x ) voc: forth
Fetch the p register to the stack.
...see more...

a>  ( -- x ) voc: forth
Read from the A register.
...see more...

abort  ( -- ) voc: forth
Reset stack pointer and execute quit.

abort"  ( -- "string" ) voc: forth
COMPILE_ONLY
Compile inline string and postpone ?abort

abs  ( n -- n' ) voc: forth
Return the absolute value of n.
...see more...

accept  ( c-addr +n -- +n' ) voc: forth
Get line from terminal.

again  ( addr -- ) voc: forth
End structure begin ... again.

align  ( -- ) voc: forth
Align the current data section dictionary pointer to cell boundary.

aligned  ( addr -- a-addr ) voc: forth
Align addr to a cell boundary.

allot  ( n -- ) voc: forth
Adjust the current data section dictionary pointer.
...see more...

and  ( n1 n2 -- n3 ) voc: forth
Execute logic AND.
...see more...

base  ( -- addr ) voc: forth
Single precision variable determining the current numerical base.
...see more...

begin  ( -- addr ) voc: forth
COMPILE_ONLY
begin ... again
begin ... until
begin ... while ... repeat

bin  ( -- ) voc: forth
Select binary base.
...see more...

bl  ( -- 32 ) voc: forth
Constante. Empile 32 qui est le code ascii du caractère 'espace'.

c!  ( c addr -- ) voc: forth
Stores an 8-bit c value at address addr.
...see more...

c,  ( c -- ) voc: forth
Append c to the current data section.
...see more...

c>n  ( cfa -- nfa ) voc: forth
Convert cfa to nfa.

c@  ( addr -- c ) voc: forth
Retrieves the 8-bit c value stored at address addr.
...see more...

c@+  ( c-addr1 -- c-addr2 c ) voc: forth
Fetch char from addr1 and increment addr1.

cell  ( -- 2 ) voc: forth
Return number of bytes in a integer.

cell+  ( addr1 -- addr2 ) voc: forth
Add cell size to addr1.

char  ( -- ) voc: forth
Place xchar, the value of the first xchar of name, on the stack.
...see more...

cmove  ( addr1 addr2 u -- ) voc: forth
Move u chars from addr1 to addr2.

constant  ( comp: n -- <name> | exec: -- n )   ANSI voc: forth
Creation word. Defines a simple precision constant.
...see more...

cr  ( -- ) voc: forth
Show a new line return.
...see more...

create  ( comp: -- | exec: -- addr ) voc: forth
Create a new word.
...see more...

cwd  ( -- ) voc: forth
Clear the WatchDog counter.

d+  ( d1 d2 -- d3 ) voc: forth
Add double numbers.
...see more...

d-  ( d1 d2 -- d3 ) voc: forth
Subtract double numbers.
...see more...

d.  ( d -- ) voc: forth
Removes the double value from the top of the stack and displays it as a signed double precision integer.
...see more...

d0=  ( d -- fl ) voc: forth
True if d equals zero.

d2*  ( d -- d*2 ) voc: forth
Multiply by 2
...see more...

dabs  ( d -- +d ) voc: forth
Absolute value of double precision integer.
...see more...

decimal  ( -- ) voc: forth
Selects the decimal number base. It is the default digital base when FORTH starts.
...see more...

defer  ( -- <name> ) voc: forth
Create a vectorized execution word.
...see more...

di  ( -- ) voc: forth
Disable interrupts.
...see more...

digit  ( n -- c ) voc: forth
Convert n to ascii character value

dinvert  ( d1 -- d2 ) voc: forth
Bit inversion on 32 bits.

dnegate  ( d -- -d ) voc: forth
Negate double number.
...see more...

dp  ( -- addr ) voc: forth
Eeprom variable mirrored in ram.
Leave the address of the current data section dictionary pointer.

drop  ( n -- )   ANSI voc: forth
Removes the single-precision integer that was there from the top of the data stack.
...see more...

dump  ( addr n ) voc: forth
Display a memory dump.

DUP  ( n -- n n )   ANSI voc: forth
Duplicates the single-precision integer at the top of the data stack.
...see more...

eeprom  ( -- ) voc: forth
Set address context to EEPROM.

ei  ( -- ) voc: forth
Enable interrupts.

else  ( -- )   ANSI voc: forth
Word of immediate execution and used in compilation only. Mark a alternative in a control structure of the type:
  (condition) IF ... ELSE ... THEN ...
At runtime, if the condition on the stack before IF is false, there is a break in sequence with a jump following ELSE, then resumed in sequence after THEN
...see more...

emit  ( c -- ) voc: forth
Display character code c.
...see more...

empty  ( -- ) voc: forth
The word empty will remove all dictionary entries that you have made and reset all memory allocations to the original values of the core FlashForth interpreter.

endit  ( -- ) voc: forth
Set the loop index to 0, which will cause the loop to end when executed of next.

execute  ( cfa -- ) voc: forth
Execute word from his cfa address.
...see more...

exit  ( -- ) voc: forth
Aborts the execution of a word and gives back to the calling word.
Typical use: : X ... test IF ... EXIT THEN ... ;

false  ( -- 0 ) voc: forth
Preset constant. Push 0 on stack.
...see more...

Fcy  ( -- u ) voc: forth
CPU & peripheral clock frequency in KHz.

fl+  ( -- ) voc: forth
Enable writes to Flash, EEPROM, default.

fl-  ( -- ) voc: forth
Disables writes to Flash memory, EEPROM.
...see more...

flash  ( -- ) voc: forth
Set address context to Flash.
...see more...

for  ( n -- ) voc: forth
Marks the start of a loop for .. next
...see more...

forget  ( -- <name> ) voc: forth
Searches the dictionary for a name following it. If it is a valid word, trim dictionary below this word. Display an error message if it is not a valid word.

here  ( -- addr ) voc: forth
Leave the current data section dictionary pointer.

hex  ( -- ) voc: forth
Selects the hexadecimal digital base.
...see more...

hi  ( -- addr ) voc: forth
Leave the high limit of the current data space.
...see more...

i,  ( x -- ) voc: forth
Append x to the flash data section.

ic,  ( c -- ) voc: forth
Append c to the flash data section.

if  ( fl -- )   ANSI voc: forth
The word IF is of immediate execution.
IF marks the beginning of a control structure of type IF..THEN or IF..ELSE..THEN.
At runtime, the definition part between IF and THEN or between IF and ELSE is executed if the boolean flag at the top of the data stack is true (f<>0).
Otherwise, if the boolean flag is false (f=0), the definition part located between ELSE and THEN will be executed. If there is no ELSE, execution continues after THEN.
...see more...

iflush  ( -- ) voc: forth
Flush the flash write buffer.

immed?  ( addr -- n ) voc: forth
Leave a nonzero value if addr contains a immediate flag.

immediate  ( -- ) voc: forth
Make the most recent definition an immediate word.
...see more...

int!  ( xt vector-no -- ) voc: forth
Store interrupt vector to table.
...see more...

interpret  ( addr len -- ) voc: forth
Interpret the buffer

invert  ( x1 -- x2 ) voc: forth
Complement to one of x1.
...see more...

is  ( cfa -- <name> ) voc: forth
Affecte le code d'exécution d'un mot à un mot d'exécution vectorisée.
...see more...

key  ( -- c ) voc: forth
Waits for a key to be pressed. Pressing a key returns its ASCII code.
...see more...

key?  ( -- fl ) voc: forth
Returns true if a key is pressed.
...see more...

literal  ( x -- ) voc: forth
Compiles the value x as a literal value.
...see more...

load+  ( -- ) voc: forth
Enable on the load led.
ATMEGA

load-  ( -- ) voc: forth
Disable on the load led.
ATMEGA

lshift  ( x1 u -- x2 ) voc: forth
Shift to the left of u bits by the value x1.
...see more...

m+  ( d1 n -- d2 ) voc: forth
Adds a single-precision signed integer n1 to a signed double-precision integer d1 and leaves on the stack a double-precision signed integer d2.
...see more...

marker  ( -- <name> ) voc: forth
As you develop an application, it will often be convenient to return to an earlier, intermediate dictionary and memory allocation state. This can be done with the word marker.
...see more...

max  ( n1 n2 -- n1|n2 ) voc: forth
Leave max of n1 and n2.

mclr  ( c addr -- ) voc: forth
Clear bits in addr register with mask c.
...see more...

min  ( n1 n2 -- n1|n2 ) voc: forth
Leave min of n1 and n2.

mod  ( n1 n2 -- n3 ) voc: forth
Divide n1 by n2, giving the single-cell remainder n3.
...see more...

ms  ( n -- ) voc: forth
Waiting in milliseconds.
b class="alert"> CAUTION the word ms blocks all others process. For long expectations, it is advisable to split the wait long in a succession of short expectations in a loop-type begin..until for example.
...see more...

mset  ( c addr -- ) voc: forth
Set bits in file register with mask c.
...see more...

mtst  ( c addr -- x ) voc: forth
AND file register byte with mask c.

n>c  ( cfa -- nfa ) voc: forth
Convert nfa to cfa.

negate  ( n -- n' ) voc: forth
Two's complement of n.
...see more...

next  ( -- ) voc: forth
Marks the end of a loop for .. next

nip  ( n1 n2 -- n2 ) voc: forth
Remove n1 from the stack.

or  ( n1 n2 -- n3 ) voc: forth
Execute logic OR.
...see more...

over  ( n1 n2 -- n1 n2 n1 ) voc: forth
Place a copy of n1 on top of the stack.
...see more...

p!  ( x -- ) voc: forth
Store x to the location pointed by the p register.

p+  ( -- ) voc: forth
Increment P register by one.

p++  ( n -- ) voc: forth
Add n to the p register.

p2+  ( -- ) voc: forth
Add 2 to P register.

p@  ( -- x ) voc: forth
Fetch the cell pointed by the p register.

pc!  ( c -- ) voc: forth
Store c to the location pointed by the p register.

pc@  ( -- c ) voc: forth
Fetch the char pointed by the p register.

r>p  ( -- ) voc: forth
COMPILE_ONLY
Pop from return stack to p register.

ram  ( -- ) voc: forth
Set address context to SRAM.

rdrop  ( -- ) voc: forth
Discard top item of return stack.

rot  ( n1 n2 n3 -- n2 n3 n1 ) voc: forth
Rotate three top stack items.

rshift  ( x1 u -- x2 ) voc: forth
Shift to the right of u bits by the value x1.
...see more...

rx0  ( -- c ) voc: forth
Receive a character from UART0.
ATMEGA

rx1  ( -- c ) voc: forth
Receive a character from UART1.

s>d  ( n -- d ) voc: forth
Sign extend single to double precision number.
...see more...

sp!  ( addr -- ) voc: forth
Sets the stack pointer to addr, thus restoring the stack depth to the same depth that existed just before addr was acquired by executing sp@.

sp0  ( -- addr ) voc: forth
Initial value of the data stack pointer.

sp@  ( -- addr ) voc: forth
Returns the address corresponding to the top of data stack.

space  ( -- ) voc: forth
Display one space.

spaces  ( n -- ) voc: forth
If n is greater than zero, display n spaces.

state  ( -- fl ) voc: forth
Compilation state. State can only be changed by [ and ].

swap  ( n1 n2 -- n2 n1 ) voc: forth
Swaps values at the top of the stack.
...see more...

then  ( -- )   ANSI voc: forth
Immediate execution word used in compilation only. Mark the end a control structure of type IF..THEN or IF..ELSE..THEN .

tib  ( -- addr ) voc: forth
Address of the terminal input buffer.

ticks  ( -- u ) voc: forth
System ticks. One tick per millisecond.
...see more...

to  ( n --- <valname> ) voc: forth
to assign new value to valname
...see more...

true  ( -- -1 ) voc: forth
Preset constant. Push -1 on stack.
...see more...

tuck  ( n1 n2 -- n2 n1 n2 ) voc: forth
Insert n2 below n1 in the stack.

tx0  ( c -- ) voc: forth
Send a character to UART 0.
ATMEGA

tx1  ( c -- ) voc: forth
Send a character to UART 1.

type  ( addr len -- ) voc: forth
Display the string characters over len bytes.
...see more...

u.  ( x -- ) voc: forth
Removes the value from the top of the stack and displays it as an unsigned single precision integer.
...see more...

u/mod  ( n1 n2 n3 -- n4 n5 ) voc: forth
Unsigned int/int->int division

ud.  ( d -- ) voc: forth
Removes the value from the top of the stack and displays it as an unsigned double precision integer.
...see more...

um*  ( u1 u2 -- ud ) voc: forth
Unsigned 16x16 -> 32 bit multiply

umax  ( n1 n2 -- n1|n2 ) voc: forth
Leave the unsigned larger of n1 and n2.

umin  ( u1 u2 -- u1|u2 ) voc: forth
Leave the unsigned smaller of u1 and u2.

until  ( fl -- ) voc: forth
COMPILE_ONLY
begin..until

value  ( comp: n -- | exec: -- n ) voc: forth
Define value.
...see more...

variable  ( comp: -- <name> | exec: -- addr ) voc: forth
Creation word. Defines a simple precision variable.
...see more...

ver  ( -- ) voc: forth
Display FORTH version language.

warm  ( -- ) voc: forth
Restart clears SRAM data.
...see more...

wd+  ( n -- ) voc: forth
WatchDog On. n = 0..7. 0=16 ms. 7=2000 ms.
ATMEGA
...see more...

wd-  ( -- ) voc: forth
WatchDog Off.
ATMEGA
...see more...

within  ( x1 x2 x3 -- fl ) voc: forth
Tests if the value x1 is in the range x2 x3.

words  ( -- ) voc: forth
List the definition names in the first word list of the search order. The format of the display is implementation-dependent.

xor  ( n1 n2 -- n3 ) voc: forth
Execute logic eXclusif OR.
...see more...

[  ( -- ) voc: forth
Enter interpretation state. [ is an immediate word.
...see more...

[']  ( -- <name> ) voc: forth
COMPILE_ONLY.
Compile xt of name as a literal.

\  ( -- ) voc: forth
Skip rest of line.
...see more...

]  ( -- ) voc: forth
Return to compilation. ] is an immediate word.
...see more...