Document fait avec Nvu Document made with Nvu

Instructions are presented in the following way:

  • Input parameters taken in the data stack are in green color (an absence of parameter is indicated by the character "-"),
  • The instruction name is in red color,
  • Output parameters placed in the data stack are in blue color (an absence of parameter is indicated by the character "-"),
  • The instruction description is in black color and in italic.

All the parameters are 32 bits numbers excepted for "flottant" corresponding to a real number coded in IEEE double precision (64 bits, the less significan word is stacked first). When several parameters are indicated, they are separated with a comma. Parameter most to the left is the first deposited in the stack and that it more to the righ constitutes the top of the stack.


n DUP n, n

Pile of the copy of the number at the top of the stack


n DROP -

Abolition of the number at the top of the stack


n SWAB m

Permutation of the most significant 16 bits with the less significant 16 bits of n


n 1, n 2 NIP n 2

Abolition of the number at the second level of the stack


n 1, n 2 TUCK n 2, n 1, n 2

Pile of the copy of the number at the third level of the stack


n 1, n 2 SWAP n 2, n 1

Permutation of the most significant 16 bits with the less significant 16 bits of n


n 1, n 2 OVER n 1, n 2, n 1

Pile of the copy of the number being in the 2-nd rank of the stack


n 1, n 2, n 3 ROT n 2, n 3, n 1

Rotation of the 3 numbers at the top of the stack


profondeur PICK n

Pile of the copy of the number in the depth given at the top of the stack
"1 PICK" equivalent in "DUP"
"2 PICK" equivalent in "OVER"

 


valeur, profondeur POKE -

Modification of the number in the depth given in the stack with the given value


profondeur ROLL -

Rotation of the numbers at the top of the stack according to the given depth
"2 ROLL" equivalent in "SWAP"
"3 ROLL" equivalent in "ROT"


n ?DUP n ou n,n

Pile the copy of the number at the top of the stack if it is not zero


n >R -

Transfer the top of the data stack towards the return stack
(FORBIDDEN in interpretation mode)


- R> n

Transfer the top of the return stack towards the data stack
(FORBIDDEN in interpretation mode)


- R@ n

Pile the copy of the return stack top on the data stack


adresse 2@ n

Reading of the word of 32 bits pointed by address


adresse @ n

Reading of the word of 16 bits pointed by address
The most significant 16 bits of n take the value of the most significan bit of the read word


adresse C@ n

Reading of the byte ( 8 bits) pointed by address
The most significant 24 bits of n take the value of the most significan bit of the read byte


numéro CW@ n

Reading of the extension word of 16 bits pointed by numero
The most significant 16 bits of n take the value of the most significan bit of the read word


n, adresse 2! -

Writing of the word n ( 32 bits) in address


n, adresse ! -

Writing of the word n (less significant 16 bits) in address


n, adresse C! -

Writing of the byte n (less significant 8 bits) in address


n, numéro CW! -

Writing of the word n (less significant 16 bits) in the extension word pointed by numero


n 1, n 2 + (n 1 + n 2)

Addition


n NEGATE -n

Opposite value (2's complement)


n 1, n 2 - (n 1 - n 2)

Subtraction


n 2* n*2

Fast multiplication by 2


n 4* n*4

Fast multiplication by 4


n 2/ n/2

Fast division by 2


n 4/ n/4

Fast division by 4


n 1, n 2 < booléen

Test if number 1 is strictly lower than number 2 in signed


n 1, n 2 = booléen

Test if numbre 1 is equal to number 2


n 1, n 2 > booléen

Test if number 1 is strictly superior to number 2 in signed


n 0< booléen

Test if number is negative


n 0= booléen

Test if number is zero


n 0> booléen

Test if number is strictly positive


n 1, n 2 U< booléen

Test if number 1 is lower than number 2 in not signed


n NOT booléen

Equivalent in 0=


n 1, n 2 U* (n 1 * n 2)

Unsigned multiplication
Result does not have to exceed the size of 32 bits


n 1, n 2 * (n 1 * n 2)

Multiplication
Result does not have to overtake size of 32 bits


n 1, n 2 U/MOD reste(n 1 / n 2), quotient(n 1 / n 2)

Rest and quotient of the unsigned integer division with number 1 by number 2
The intermediate result of the reproduction is on 64 bits


n 1, n 2, n 3 U*/MOD reste((n 1 * n 2)/ n 3), quotient((n 1 * n 2)/ n 3)

Rest and quotient of the unsigned integer division with number 3 of the signed multiplication with number 1 by number 2
The intermediate result of the reproduction is on 64 bits


n 1, n 2, n 3 */MOD reste((n 1 * n 2)/ n 3), quotient((n 1 * n 2)/ n 3)

Rest and quotient of the integer division by number 3 of the multiplication of number 1 by number 2
The intermediate result of the multiplication is on 64 bits


n 1, n 2 /MOD reste(n 1 / n 2), quotient(n 1 / n 2)

Rest and quotient of the integer division of number 1 by number 2


n 1, n 2 / (n 1 / n 2)

Division with roundness


n 1, n 2 MOD reste(n 1 / n 2)

Rest of the integer division of number 1 by number 2


n 1, n 2, n 3 */ (n 1 * n 2)/ n 3

Integer division by number 3 of themultiplication of number 1 by number 2
The intermediate result of the reproduction is on 64 bits


n SQRT m

Square root of the number n always considered as positive on 32 bits


n 1, n 2 MAX max(n 1, n 2)

Maximum of the numbers 1 and 2


n 1, n 2 MIN min(n 1, n 2)

Minimum of the numbers 1 and 2


n ABS abs(n)

Absolute value


n 1, n 2 AND (n 1 and n 2)

Logical AND


n 1, n 2 OR (n 1 or n 2)

Logical OR


n 1, n 2 XOR (n 1 xor n 2)

Logical exclusive OR


n, d ASH m

Arithmetical shifting of n d time to the left if d is positive and to the right should the opposite occur


n, d LSH m

Logical shifting of n d time to the lef if d is positive and to the right should the opposite occur


n, d ROL m

Rotation of n d time to the left if d is positive and to the right should the opposite occur


n COM m

Inversion (1's complement)


n, adresse +C! -

Addition of the word n in the word pointed by address in 8 bits


n, adresse -C! -

Subtraction of the word n in the word pointed by address in 8 bits


n, adresse +! -

Addition of the word n in the word pointed by address in 16 bits


n, adresse -! -

Subtraction of the word n in the word pointed by address in 16 bits


n, adresse +2! -

Addition of the word n in the word pointed by address in 32 bits


n, adresse -2! -

Subtraction of the word n in the word pointed by address in 32 bits


adresse, n, octet FILL -

Completion of the memory with n time value byte from address


a 1, a 2, n CMOVE -

Copy of n bytes ( 8 bits) of the address 1 towards the address 2


a 1, a 2, n MOVE -

Copy of n words of 16 bits of the address 1 towards the address 2


a 1, a 2, n 2MOVE -

Copy of n words of 32 bits of the address 1 towards the address 2


- INTERRUPT_VECTORS adresse

Interruption vector addresses


- S_WORD adresse

Address of the ASCII buffer administered by the instruction "WORD"


- S_FORMAT adresse

Address of the ASCII buffer administered by the instructions of formated output


- S_TAMPON adresse

Address of the ASCII buffer of the interpreter / compiler


- S_STRING adresse

Address of the ASCII buffer administered by the instruction "STRING"


- M_SOURIS adresse

Address of the memorization buffer of the area pointed the mouse


- INPUT_FILE adresse

Address of the input file of the terminal


- OUTPUT_FILE adresse

Address of the output file of the terminal


- RS232_RECEIVE_FILE adresse

Row of reception of the serial link


- RS232_TRANSMIT_FILE adresse

Row of broadcast of serial link


- KEYBOARD_FILE adresse

Row of memorization of the keyboard ASCII codes


- PAD adresse

Variable containing the address of the ASCII file in the course of compilation (instruction "LOAD")


- >IN adresse

Variable containing the index of compilation of the previous ASCII file


- MEM_DEPTH adresse

Variable administered by the instruction "DEPTH"


- MEM_HERE adresse

Variable containing the value of "HERE"


- ADR_CREATE adresse

Variable administered by the instruction "CREATE"


- START adresse

Variable containing the address of the las compiled instruction


- TEMPS adresse

Variable containing the value of a free counter ( 32 bits) incremented all the millisecondes by the real-time kernel


- TACHE adresse

Address of the beginning of the list chained by the tasks of the real-time kernel


- 68681_IT+ adresse

Address of the vector allowing to complete the interruption program of chip 68681


- FPGA_IT+ adresse

Address of the vector allowing to complete the interruption program of FPGA


- MEMOIRE_ADRESSE adresse

Address of the beginning of the memory allouable dynamically.
This variable is reserved for the system


- MEMOIRE_INDEX adresse

Address used by the management of the memory allouable dynamically.
This variable is reserved for the system


- MEMOIRE_TELEC adresse

Variable containing the address of the downloading buffer


- MEMOIRE_FLASH adresse

Variable giving the RAM address of the initial block contents


- FENETRE adresse

Variable giving the address of the list chained of window descriptors


- MOTIF_SOURIS adresse

Variable giving the address of the mouse drawing in the activated window


- FOND_SOURIS adresse

Variable giving the address of the curren mouse drawing


- TAPISSE adresse

Variable giving the address of the screen background displaying program


- FICHIER_CHEMIN adresse

Variable giving the character string RAM address containing current way


- STOP_FORTH adresse

Variable giving the address of a stop software of a FORTH processus (ABORT for example)


- SYSTEMES_FICHIERS adresse

Variable giving the address of the beginning of the mounted file system descriptors list


- EOLN adresse

Variable indicating if it is different from 0 that instruction "WORD" met a character of the end of line


- EOF adresse

Variable indicating if it is different from 0 that instruction "WORD" met a character of the end of file


- BASE adresse

Variable containing the value of the curren numeric base


- STATE adresse

Variable indicating if it is different from 0 that one is in mode compilation (otherwise interpetation)


- ERROR adresse

Variable pointing the description of the errors of compilation


- T_SUSPEND adresse

Variable allowing to suspend the real-time kernel (if different from 0)


- PRIORITE adresse

Variable indicating the current level of priority to the real-time kernel


- ECRAN adresse

Address pointing the screen graphic limits in 16 bits.
Example for 640x480 VGA screen: 0,0,639,479


- LIMITES adresse

Address pointing the displaying area limits in 16 bits.
These coordinates are always limited by those of ECRAN, example: 10,45,300,249


- G_SUSPEND adresse

Variable allowing to suspend graphic displaying (if different from 0)


- X_SOURIS adresse

Variable containing the mouse abcisse


- Y_SOURIS adresse

Variable containing the mouse orderly


- COPIE_IMR adresse

Internal variable reserved for the instructions of management of chip 68681


- I2C_OCCUPE adresse

Internal variable reserved for the instructions of management of the link I2C


- FLASH_OCCUPE adresse

Variable containing the FLASH memory activity state


- FLASH_ECRITURE adresse

Variable indicating if a file is in writing state


- TEMPS_TELEC adresse

Internal variable reserved for the downloading management


- DATA_STACK adresse

Address of the data stack


- RETURN_STACK adresse

Address of the return stack


- DICTIONNAIRE adresse

Address of the instructions index table ( in order alphabetical classification)


- DEPTH profondeur

Pile the depth of the data stack


- RDEPTH profondeur

Pile the depth of the return stack


- HERE adresse

Put on the stack the address of compilation


adresse >HERE -

Initialize the address of compilation


n C, -

Compilation of the byte n (8 bits)
The address of compilation ("HERE") is incremented with 1
WARNING: It is always necessary to maintain "HERE" even
add an instruction of this type with the value " 0 " if their number is odd


n , -

Compilation of the word n (16 bits)
The address of compilation ("HERE") is incremented with 2


n 2, -

Compilation of the word n (32 bits)
The address of compilation ("HERE") is incremented with 4


n IF - instructions

- THEN -

Instructions between "IF" and " THEN " are executed if n is different from 0

n IF - instructions 1

- ELSE - instructions 2

- THEN -

If n is different from 0, only instructions 1 are executed, otherwise they are the instructions 2 which are executed


n CASE -

m OF - instructions 1

- ENDOF -

instructions 2

- ENDCASE -

If m is equal in n, only instructions 1 are executed, otherwise they are the instructions 2 which are executed. Several sequences " OF ", " ENDOF " can be chained.


- BEGIN - instructions

n UNTIL -

Instructions among " BEGIN " and " UNTIL " are executed as long as n is zero

- BEGIN - instructions 1

n WHILE - instructions 2

- REPEAT -

Instructions 1 and 2 are among " BEGIN " and " REPEAT " is executed as long as n is differen from 0


valeur max, valeur min DO - instructions

- LOOP -

Allowing structure executing instructions in every incrementation of an index initialized in the value min and as often as it is strictly lower than the value max
Index is incremented and is tested by the instruction "LOOP"

valeur max, valeur min DO - instructions

n +LOOP -

Allowing structure executing instructions in every incrémentation of an index initialized in the value min and as often as it is strictly lower than the value max
Index is incremented by the value n and tested by the instruction "+LOOP"
Instructions "I", "J", "K" et "LEAVE" are also useful in this structure.


n LITERAL -

Compilation of the number n (32 bits) in the definition of an instruction


- I indice

Removal on the data stack the current value of the index of the structure "DO ... LOOP"


- J indice

Removal on the data stack the current value of the index of the structure "DO ... LOOP" of second level


- K indice

Removal on the data stack the current value of the index of the structure "DO ... LOOP" of third level


- LEAVE -

Initialize the index of the structure " DO... LOOP " in the value max to force the exit of the loop to the next execution of the instruction "LOOP"


- EXIT -

This instruction, unusable in the structures of loops of type " DO... LOOP " or " DO... +LOOP " allows to go out of the execution of an instruction


caractère EMIT -

Broadcast of the character


- CR -

Broadcast of carriage return


- BELL -

Broadcast of a tone


- SPACE -

Broadcast of one space
Equivalent in "1 SPACES"


n SPACES -

Broadcast of n spaces


adresse, n TYPE -

Broadcast of n characters pointed by address


adresse COUNT adresse+1, n

Extraction of the number of character of a chain ASCII (255 maximum)


adresse, n 1 -TRAILING adresse, n 2

Calculation of the number of characters of a chain ASCII having the possible spaces placed in the end of this one


- BIN -

Force system in binary base (2 in "BASE")


- OCTAL -

Force system in octal base (8 in "BASE")


- DECIMAL -

Force system in decimal base (10 in "BASE")


- HEX -

Force system in hexadecimal base (16 in "BASE")


n 1, adresse 1 CONVERT n 2, adresse 2

Conversion in the current numeric base of the number coded in ASCII in address 1 with the initial value n 1
Result is n 2 and sends 2 point first not convertible character


n <# signe, abs(n)

At the beginning of conversion of a number code ASCII of it in the current base


caractère HOLD -

Insertion of a character in the chain of the converted number


n 1 # n 2

Conversion of an unity of the number codes ASCII of it and division of this last one by the current base


n #S 0

Execution of the instruction "#" until n is zero


signe, n SIGN signe, n

Insertion of a character "-" if sign is not zero


signe, n 1 #> adresse, n 2

At the end the conversion of a number codes ASCII of it
Put on the stack the address of the resultant character string and the number of characters


n . -

Displaying of n in the current base
Equivalent in "<# #S SIGN #> TYPE"


adresse ? -

Displaying of the word of 16 bits pointed by address
Equivalent in "@".


n U. -

Displaying of n in the current base in no signed
Equivalent in "<# >R DROP 0 R> #S #> TYPE"


caractère WORD adresse

Extraction of a word ending by character from the input buffer and puting on the stack of the address or is stored this word


adr1,nbc1,adr2,nbc2 STRCMP b

Comparison of 2 character strings adr1 with nbc1 characters and adr2 with nbc2 characters.
b is zero when 2 chains are identical, positive when adr1 is superior alphabetically in adr2 and negative in the inverse case


adr_c,adr_ DICO_CHERCHE adr_t',b

Search for the pointer adr_t' in the table adr_t such as the contents of the character string adr_c are the most close or equal to that pointed by adr_t' (dichotomic search)
b is zero when 2 chains are identical, positive when adr1 is superior alphabetically in adr2 and negative in the inverse case


- DICO_INIT -

Creation of the table of in order alphabetical classification of the instructions of the dictionary


- DLIST -

List the contents of the dictionary by alphabetical order


- ' "nom" adresse

Put on the stack the address of the head of the instruction "name"


- FIND "nom" adresse

Put on the stack the address of execution of the instruction "name"


- [ -

Switching in interpretation mode


- ] -

Switching in compilation mode


- : "nom" -

Creation of a new instruction header (switching in compilation mode)


- ; -

Fin d'une nouvelle instruction (retour en mode interprétation)


- TACHE: "nom" -

Task definition header, word following this instruction gives the name of the task
This definition will be ended with the instruction ";"
WARNING: a task has to leave the stack in the same state before and after its execution (what does not prevent it from using it)
When task is called with its name, it returns only the execution address


tâche T_EXECUTE -

Running of the specified task (used for debugging)


niveau, tâche T_AJOUTE -

Addition of the task specified in the tasks table with the specified priority level (1 - 65535)


millisecondes, tâche T_ACTIVE -

Activation of the specified task in the specified number of millisecondes (1 - 8192)


millisecondes, tâche T_PERIODE -

Periodic activation of the specified task in the specified number of millisecondes (1 - 8192)


tâche T_RETIRE -

Supression of the specified task from the tasks table


- TLIST -

List tasks managed by the real time kernel with priority level and activation state


- COMPILE "nom" -

Allows the compilation of the instruction "name" in the execution


- [COMPILE] "nom" -

Force the compilation of an immediate instruction "name"


adresse EXECUTE -

Execution of the program pointed by address


- " "chaîne de caractères" adresse

Creation of a character string ended by " (255 at most)


- ECHO" "chaîne de caractères" -

Displaying of a character string ended by " (255 at most)


- ." "chaîne de caractères" -

Compilation of a character string ended by " (255 at most) which will be displayed in the execution of the instruction


- ( -

Passage in mode comment until the meeting of the character ")"


- .S -

List the contents of the data stack beginning by the top of the stack


- IMMEDIATE -

Force, when used alone, the execution of the instruction in mode compilation (instruction is unusable in mode interpretation).
Usage combined with "DIRECT" and "IMMEDIATE" forces the execution of the instruction in mode interpretation AND in mode compilation


- DIRECT -

Force, when used alone, the compilation of the executable code of the instruction (to use only for instructions coded in assembler and very short not to saturate memory)


n ALLOT -

Booking of n word of 16 bits initialized in zero


adresse LOAD -

Launch the interpreter/compiler on the tex pointed by "address"


- CREATE -

Creation of a program area

- DOES> -

Definition of the pointer on the program area to be executed by the instruction created by "CREATE"
For example, here are the definitions of instructions "VARIABLE" and "CONSTANT":
: : VARIABLE CREATE , 0 , DOES> ;
: : CONSTANT CREATE 2, DOES> 2@ ;


n VARIABLE "nom" -

Creation of a variable 32 bits initialized by the value n on 16 bits


n CONSTANT "nom" -

Creation of a constant 32 bits initialized by the value n on 32 bits


adresse STRING "nom" -

Compilation of the character string address of which is specified


- VLIST -

List the contents of the dictionary beginning by the last declared instruction and finishing by the first


- KEY caractère

The same function as " KEYBOARD " but until the keyboard is activated


- INKEY caractère

Second reading of the last character from the keyboard


- KEYBOARD caractère

Reading of a character from the keyboard (character is zero if the keyboard is inactive)


adresse, n EXPECT -

Reading of n characters which will be stored in address


adresse MEMOIRE_LIBERE b

Release of a block memory.
b is zero if operation was made correctly


- QUIT -

Launch the interpreter FORTH


- ABORT -

Software interruption and lauch the interpreter FORTH


- MEMOIRE_PROBLEME -

Procedure of system stop after detection of an abnormality in the chained list.
This instruction is reserved for the system


- T_MEMOIRE_CONTROLE adresse

Task of control of the chained list.
This task is administered by the system


adresse,taille MEMOIRE_INITIALISE b

Initialization of the dynamic allocation memory.
b is zero if operation was made correctly.
This instruction is reserved for the system


taille MEMOIRE_ALLOUE adresse

Allocation of a block memory having clarified size.
Address is nobody if allocation is impossible


- MLIST -

Listing of size, address and occupation state of memory blocks.


- 68681_MRA adresse

- 68681_SRA adresse

- 68681_CRA adresse

- 68681_RHRA adresse

- 68681_ACR adresse

- 68681_ISR adresse

- 68681_CTU adresse

- 68681_CTL adresse

- 68681_MRB adresse

- 68681_SRB adresse

- 68681_CRB adresse

- 68681_RHRB adresse

- 68681_IVR adresse

- 68681_IPR adresse

- 68681_SOPBC adresse

- 68681_ROPBC adresse

Send various registers (bytes) of chip 68681


- 68681_IT adresse

Address of the interruption program of chip 68681


- 68681_TABLE adresse

Address of a translation table for programming of the serial link transfert speed of chip 68681


- CW_PA numéro

- CW_PR numéro

- CW_PNTT numéro

- CW_PNTR numéro

- CW_CE numéro

- CW_SA numéro

- CW_SPA numéro

- CW_SPR numéro

- CW_SCE numéro

- CW_TIMER numéro

- CW_UART_BAUD numéro

- CW_UART_CTRL numéro

- CW_UART_DATA numéro

- CW_DATA_STACK numéro

- CW_RETURN_STACK numéro

Numbers of the various extension registers (16 bits words) of the FPGA.


- FLASH_ORIGINE adresse

Constant giving the beginning address of the FLASH memory zone containing the files system


- FPGA_IT adresse

Address of the interruption program of FPGA


vitesse,nbbits,nbstop,parité,rts/cts RS232_INIT -

Initialization for the serial link:
speed in number of bits by second (all the speeds normalized between 7200 and 115200 bauds),
nbbits always 8 ,
nbstop always 1 ,
parity always odd (2),
rts/cts always inactivated (0)


octet RS232_EMET -

Broadcast of a byte on the serial link


- RS232_RECOIT octet

Reception of a byte from the serial link


n TEMPO -

Execute a temporization of n millisecondes


- I2C_START -

Sending of the condition " START " in the link I2C
WARNING : The real-time kernel will be congealed until the sending of the condition "STOP"


valeur à écrire,nbbits I2C_ECHANGE_BITS valeur lue

Exchange of bits (1 - 32) on the link I2C
This instruction writes every bit by leaving of the most significan bit (according to the number of bits) and send back present value when SCL is for high level. To read a value, it is enough to pu all the bits in "1"


- I2C_STOP -

Sending of the condition "STOP" in the link I2C


- 68681_INIT -

Initialization of chip 68681


- SWI_IT adresse

- OP_IT adresse

- DS_IT adresse

- RS_IT adresse

Constants giving the interruption program addresses (vectors)


- FPGA_INIT -

Initialization of FPGA


num_bloc,adr FLASH_BLOC_LIT erreur

Reading of the 512 bytes block number num_block at address adr.
error is zeo when reading is correct


adr,num_bloc FLASH_BLOC_ECRIT erreur

Writing of the 512 bytes block number num_block from the address adr.
error is zero when the writing is correct


num_sec FLASH_SECTEUR_EFFACE erreur

Clearing of the 64 kilos Bytes sector number num_sec.
error is zero when clearing is correct


x[n],adr_biquad BIQUAD y[n]

Computing of the output y[n] of the biquad filter described by adr_biquad and with the input value x[n]:
- x[n] is the input sample,
- adr_biquad is the address of the filter parameters,
adr_biquad --> N a2<<N b2<<N w[n-2] a1<<N b1<<N w[n-1] a0<<N
- y[n] is the output sample computed as following,
w[n] = [x[n]<<N + b1<<N*w[n-1] + b2<<N*w[n-2]]>>N
y[n] = [a0<<N*w[n] + a1<<N*w[n-1] + a2<<N*w[n-2]]>>N
w[n-2] = w[n-1]
w[n-1] = w[n]


- CW_VGA numéro

Number of the VGA extension register (16 bits words) of the FORTH core.


limites,teinte,x1,y1,x2,y2 TRACE_REC limites

Rectangle drawing:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
tint: tint of the pixel or video inversion if > 255,
x1 , y1 , x2, y2: corners coordinates in absolute in the screen.


limites,dx,dy,teinte,x,y,adr_motif TRACE_MOTIF limites,dx,dy,teinte,x,y

Symbol drawing:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
dx,dy: width and height of thesymbol in number of pixels (dx <= 16),
tint: tint of the pixel,
x,y: absolute coordinates from the left superior corner of the symbol,
adr_motif : address of thesymbol matrix.


limites,teinte,gen_car,x0,y0,adr,nbc TRACE_CHAINE limites,teinte,gen_car,x0,y0,adr

Character string drawing:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
tint: tint of the pixel,
gen_car: character matrix generator address,
x0,y0: absolute coordinates from the left superior corner of the first character,
adr: character string address,
nbc: character number.


limites,image,x1,y1,x2,y2 TRACE_LIGNE limites

Line drawing:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
tint: tint of the pixel or video inversion if > 255,
x1 , y1 , x2, y2: corners coordinates in absolute in the screen.


limites,image,x0,y0 ECRIT_REC limites

Writing of a rectangular picture:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
image: pointer on the picture contents
dx on 2 bytes
dy on 2 bytes
teinte1 on 1 byte
...
teinteN onr 1 byte with N = dx*dy,
x0,y0: absolute coordinates from the left superior corner of the screen.


limites,image,x0,y0 LIT_REC limites

Reading of a rectangular picture:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
image: pointer on the picture contents
dx on 2 bytes
dy on 2 bytes
teinte1 on 1 byte
...
teinteN onr 1 byte with N = dx*dy,
x0,y0: absolute coordinates from the left superior corner of the screen.


- AF_SOURIS -

Mouse displaying.


- EF_SOURIS -

Mouse clearing.


- FENETRE: "nom" -

Creation of a new window header (switching in compilation mode)


code,adr F_EXECUTE -

Execution of the program associated to the window pointed by adr and with the parameter code


adr,red,green,blue TRAMAGE_RVB adr

Generation of a 8x8 256 colors pixels matrix at address adr for simulation of a 24 bits color


- VGA_INIT -

Graphic interface initialization.


flottan FNEGATE -flottant

Opposite value (inversion of S)


flottan FABS abs(flottant)

Absolute value (reset of S)


exposant,n* NORM flottant

Normalization of the mantissa of a number
*: n occupy 2 stack levels in IEEE double precision


flottant1,flottant2 F+ flottant1+flottant2

Addition


flottant1,flottant2 F- flottant1-flottant2

Subtraction


flottant1,flottant2 F* flottant1*flottant2

Multiplication


flottant1,flottant2 F/ flottant1/flottant2

Division


flottan INT n

Float conversion towards signed integer (32 bits)


n UFLOAT flottant

Conversion signed integer ( 32 bits) towards float


- FORTH -

List the description of the FORTH kernel


- FORGET "nom" -

Destruction of all the instructions created from "name"


- T_RS232_CONNECTE adresse

Task making connection enters serial link and the input/output of the interpreter FORTH (instructions " KEY ", " INKEY ", " KEYBOARD " and "EMIT")


- T_VOYANT adresse

Task managing the blinking of the card ligh (250 ms lit and 250 ms switches off)


- TELECHARGEMENT -

Instruction of downloading with compilation of the file text from a terminal connection


- DEMARRAGE -

Complete reset of the system ( software RESET)


- FUNIX adresse

- FFLASH adresse

Address of the program associated to the corresponding file system management.
Using of those addresses:
0,adresse EXECUTE adr_mem,erreur --> "adresse" system mounting,
1,adresse EXECUTE - --> "adresse" system initialization,
adr_chaine,lec/ecr,2,adresse EXECUTE desc,taille/erreur --> "adresse" system file openning,
adr_mem,nbc,lec/ecr,desc,3,adresse EXECUTE nbc',taille/erreur --> "adresse" system "desc" file access,
desc,4,adresse EXECUTE erreur --> "adresse" system "desc" file closing,
adr_chaine,5,adresse EXECUTE erreur --> "adresse" system directory creation,
adr_chaine,6,adresse EXECUTE erreur --> "adresse" system directory suppression,
adr_chaine,7,adresse EXECUTE adr_mem,erreur --> "adresse" system directory informations.


n [IF] - instructions

- [THEN] -

The instructions between "[IF]" and "[THEN]" are interpreted/compiled if n is not 0

n [IF] - instructions 1

- [ELSE] - instructions 2

- [THEN] -

If n is not 0, only the instructions 1 are interpreted/compiled, else there are the instructions 2


- [LABEL] "nom" -

- [GOTO] "nom" -

"[GOTO] nom" forces the interprétation/compilation of the instructions wich are following "[LABEL] nom"


- [VARIABLE] "nom" adresse

"[VARIABLE]" creates, if it does not yet exist, and/or gives the address of the 32 bits variable "nom"


- V_BOUTON_GAUCHE adresse

Variable giving the state of the mouse lef button (activated if different from 0)


- V_BOUTON_MILIEU adresse

Variable giving the state of the mouse middle button (activated if different from 0)


- V_BOUTON_DROIT adresse

Variable giving the state of the mouse righ button (activated if different from 0)


- V_DX_SOURIS adresse

Variable for the management of the abcisse movement of the mouse


- V_DY_SOURIS adresse

Variable for the management of ordered movemen of the mouse


- T_BIP adresse

Managing task the generation of the tone


durée,fréquence BIP -

Emission of a tone with duration in millisecondes and frequency in Hertz


- T_RHM_CONNECTE adresse

Task making connection enters keyboard, mouse and the input/output of the interpreter FORTH (instructions " KEY ", " INKEY ", " KEYBOARD ","EMIT"...)


- CW_PORT numéro

Number of the parallel interface extension register (16 bits words) of the FORTH core.


- T_VOYANT adresse

Task managing the blinking of the card light


- VOYANT_INIT -

Initialization of the card light blinking.


- V_NPA adresse

Variable containing the current pseudo random ( 32 bits)


- NPA nombre

New iteration of the pseudo random number ( 32 bits)


- TABLE_SIN adresse

Address of the sine table for calculation in B.A.M.


- TABLE_ATAN adresse

Address of the arctangeante table for calculation in B.A.M.


n SIN sin(n)

Calculation of the sine of n in B.A.M.


n COS sin(n)

Calculation of the cosine of n in B.A.M.


n ASIN arcsin(n)

Calculation of the arcsinus of n in B.A.M.


n ACOS arccos(n)

Calculation of the arccosinus of n in B.A.M.


n,m ATAN arctan(n/m)

Calculation of the arctangeante of n in B.A.M.


flottant,n PUISSANCE flottant^n

Rise of the float in the power n


flottant1,flottant2 F/MOD flottant1-(n*flottant2),n

Calculation rest and quotient (signed 32 bits integer) of 2 floats division


flottant,adresse FCONVERT flottant',adresse'

Conversion of the character string pointed by address counts it float until the first not convertible character


- S_PINFINI adresse

Character string containing "+infini"


- S_ZERO adresse

Character string containing "0"


- S_MINFINI adresse

Character string containing"-infini"


flottan <##F#> adresse,n

Conversion of a float in a string of n characters pointed by address
6 significant digits in simple precision and 12 in double precision


flottan F. -

Displaying of a float on the terminal output


flottan FSQRT flottant'

Square root of a float


flottan FEXP0 flottant'

Calculation of the exponential of a floa by limited development


flottan FLN0 flottant'

Calculation of the neperian logarithm of a float by limited development


flottan FEXP flottant'

Calculation of the exponential of a float


flottan FLN flottant'

Calculation of the neperian logarithm of a float


- FPI flottant

Constant PI


flottan FATAN0 flottant'

Calculation of the arc - tangente of a floa by limited development


arc,y,x,ki,fatan(ki) AJUSTEXY arc',y',x'

Sub-routine for calculation of the tangente of the angle half


flottan FTANU flottant'

Calculation of the tangente of the angle half


flottan FTAN flottant'

Calculation of the tangente


flottan FSIN flottant'

Calculation of the sine


flottan FCOS flottant'

Calculation of the cosine


flottan FATAN flottant'

Calculation of the arc - tangente


flottan FASIN flottant'

Calculation of the arc - sine


flottan FACOS flottant'

Calculation of the arc - cosine


r1,v1,b1,...,rn,vn,bn,n,dx,dy,mode DEGRADE_- adresse

Creation of a concatened picture with several degraded colors (horizontal) to use with ECRIT_REC.
r1,v1,b1,...,rn,vn,bn: red,green and blue tint of each color, 1 is the color from right side
n: number of colors, the minimum value of n must be 2
dx,dy: width and height of the picture in number of pixels, the minimum value of each one must be 1
mode: 0 for lines, other value for pastel
adresse: memory location of the picture, must be released with MEMOIRE_LIBERE when not used.


r1,v1,b1,...,rn,vn,bn,n,dx,dy,mode DEGRADE_| adresse

Creation of a concatened picture with several degraded colors (vertical) to use with ECRIT_REC.
r1,v1,b1,...,rn,vn,bn: red,green and blue tint of each color, 1 is the color from bottom side
n: number of colors, the minimum value of n must be 2
dx,dy: width and height of the picture in number of pixels, the minimum value of each one must be 1
mode: 0 for lines, other value for pastel
adresse: memory location of the picture, must be released with MEMOIRE_LIBERE when not used.


r1,v1,b1,...,rn,vn,bn,n,dx,dy,mode DEGRADE_\ adresse

Creation of a concatened picture with several degraded colors (diagonal \) to use with ECRIT_REC.
r1,v1,b1,...,rn,vn,bn: red,green and blue tint of each color, 1 is the color from bottom right side
n: number of colors, the minimum value of n must be 2
dx,dy: width and height of the picture in number of pixels, the minimum value of each one must be 1
mode: 0 for lines, other value for pastel
adresse: memory location of the picture, must be released with MEMOIRE_LIBERE when not used.


r1,v1,b1,...,rn,vn,bn,n,dx,dy,mode DEGRADE_/ adresse

Creation of a concatened picture with several degraded colors (diagonal \) to use with ECRIT_REC.
r1,v1,b1,...,rn,vn,bn: red,green and blue tint of each color, 1 is the color from bottom left side
n: number of colors, the minimum value of n must be 2
dx,dy: width and height of the picture in number of pixels, the minimum value of each one must be 1
mode: 0 for lines, other value for pastel
adresse: memory location of the picture, must be released with MEMOIRE_LIBERE when not used.


- XMODEM_TAMPON adresse

128 bytes transmission/reception buffer adress


- XMODEM_ETAT adresse

Variable for management of the transfer


- XMODEM_BLOC adresse

Variable containing the number of block in the course of transfer


- XMODEM_TEMPO adresse

Variable for temporizations management bound to the protocol


- XMODEM_SOMME adresse

Variable for calculation of the check sum


- INPUT_FILE? nbr_octets

Instruction giving the number of available bytes in INPUT_FILE


- RS232_RECEIVE_FILE? nbr_octets

Instruction giving the number of available bytes in RS232_RECEIVE_FILE


- RS232_TRANSMIT_FILE? nbr_octets

Instruction giving the number of available bytes in RS232_TRANSMIT_FILE


- OUTPUT_FILE? nbr_octets

Instruction giving the number of available bytes in OUTPUT_FILE


- T_XMODEM_CONNECTE adresse

XMODEM management task (replace T_RS232_CONNECTE during the duration of the transfer)


rec/emi XMODEM_OUVRE erreur

Opening of a XMODEM transfer in transmission if rec/emi is zero or in reception otherwise.
error is zero when operation is correct


- XMODEM_OCTET_RECOIT octet,erreur

Reception of a byte.
error is zero if the byte is valid, otherwise reception is ended


octet XMODEM_OCTET_EMET erreur

Transmission of a byte.
error is zero if the transmission is correct


- XMODEM_FERME -

At the end of the transfer in transmission or in reception


adresse XMODEM_RECOIT longueur

Reception of a file at address specified on the length (in bytes) indicated at the end of transfer


adresse,longueur XMODEM_EMET -

Transmission of a file situated at address and on the length (in bytes) specified


- S_NOM_FLASH adresse

Character string containing " Systeme_de_fichier_FLASH " which is the default name


- FLASH_BLOC_ALLOUE numéro/erreur

Request of a 512 bytes block of.
If number is zero, it is that there is no more available block.
If number is negative, it is about an error code


numéro FLASH_BLOC_LIBERE -

Restoration of a 512 bytes block with its number.


numéro FLASH_BLOC_ETAT état

Return 0 if block numero is free.


adr_tampon FLASH_FICHIER_LIT taille/erreur,octet

Sequential reading of a byte from file opened with adr_buffer.
size/error can have value following ones:
remaining size of the file if correct reading (> =0)
-1 if an error arose during the reading
-2 if adr_buffer does not correspond to any file in the course of reading


octet,adr_tampon FLASH_FICHIER_ECRIT taille/erreur

Sequential writing of a byte in the file opened with adr_buffer.
size/error can have value following ones:
> 0 if correct writing, value being the number of written bytes (size)
-10 if an error arose during the writing
-11 if the file system is saturated
-12 if adr_buffer does not correspond to any file in the course of writing


adr_tampon FLASH_FICHIER_FERME erreur

Lock of the file opened with adr_buffer.
error can have value following ones:
0 if correct lock
Arisen error code during preceding operations
-20 if an error arose during the writing
-21 if the file system is saturated
-22 if adr_buffer does not correspond to any file in the course of use


- FLASH_FORMATE -

FLASH memory file system format


adr_chemin/nom,lec/ecr FLASH_FICHIER_OUVRE adr_tampon,taille/erreur

Opening of a file describes by the character string adr_way/name in writing if lec/ecr is zero otherwise in reading.
adr_buffer the descriptor address of the opened file is.
size/error can have value following ones:
size of the file if opening in correct reading (0 if the file does not exist)
0 or size of the already existing file if opening in correct writing
-40 if it is impossible to read a block
-41 if memory space is insufficient to realize the opening
-42 if the file way is unknown
-43 if a writing file is already current while a writing is wanted
-44 if the opened file is a directory


- FLASH_INSTALLE erreur

Installation of the FLASH memory file system.
error is zero so correct, otherwise:
-30 if the file system is destroyed
-31 if memory space is insufficient to format
-32 if memory space is insufficient for the installation


- FICHIER_CHEMIN? adresse

Assign some memory pointed by address and containing a characters string with the current way.
Assigned memory should be restored ( MEMOIRE_LIBERE) after use.
Return 0 if it ny has more available memory or than the system of file is not functional


adr_nom,nbc CHEMIN_CONCATENE adr_mem

Assign some memory pointed by adr_mem and containing the resultant chain of character of the concatenation of the current road and the chain pointed by adr_nom of length nbc.
Assigned memory should be restored ( MEMOIRE_LIBERE) after use.
Return 0 if it ny has more available memory or than the file system is not functional


fadr FMOUNT -

"fadr" file system installation


fadr FUNMOUNT -

"fadr" file system suppression


- FINIT -

Initialization with installation of integreted file systems


adr_chemin/nom,lec/ecr FOPEN adr_desc,taille/erreur

Opening of a file describes by the character string adr_chemin/nom in writing if lec/ecr is zero otherwise in reading.
adr_desc is the descriptor address of the opened file is.
taille/erreur can be:
size of the file if opening in correct reading (0 if the file does not exist)
0 or size of the already existing file if opening in correct writing
an error if the value is negative


adr_mem,nbc,adr_desc FREAD nbc'/erreur

Reading of nbc bytes from open file described by adr_desc to the address adr_mem.
nbc'/erreur gives the nmuber of read caracters or an error if negative


adr_mem,nbc,adr_desc FWRITE erreur

Writing of nbc octets from address adr_mem to the open file described by adr_desc.
erreur is zero if writing is OK


adr_desc FCLOSE erreur

Closing of the open file described by adr_desc.
erreur is zero if closing is OK


adr_chemin/nom MKDIR erreur

Creation of the directory described by the caracter string adr_chemin/nom.
erreur is zero if creation is OK


adr_chemin/nom RMDIR erreur

Suppression of the directory described by the caracter string adr_chemin/nom.
erreur is zero if suppression is OK


adr_chaine/nom LDIR adr_mem,erreur

Assign some memory which will contain the description of the directory pointed with the character string adr_chaine/nom.
adr_mem, so different from 0 and error zero, point the following sequence:
number of files/directory on 4 bytes
size of the file/directory 1 on 4 bytes
file (1), directory (2) or unknown (0) type description on 4 bytes,
creation number of the file/directory 1 on 4 bytes
modifications number of the file/directory 1 on 4 bytes
character string with name of the file/directory 1 on n*4 bytes
size of the file/directory 2 on 4 bytes
...
character string with name of the last file/directory on n*4 bytes
0 for the end of the list on 4 bytes
Assigned memory should be restored ( MEMOIRE_LIBERE) after use.


- FORMATE -

Program of file system clearing management


adr_nom REPERTOIRE_LISTER adr_mem,erreur

Assign some memory which will contain the description of the directory pointed with the character string adr_name.
adr_mem, so different from 0 and error zero, point the following sequence:
number of files/directory on 4 bytes
size of the file/directory 1 on 4 bytes
file (1), directory (2) or unknown (0) type description on 4 bytes,
creation number of the file/directory 1 on 4 bytes
modifications number of the file/directory 1 on 4 bytes
character string with name of the file/directory 1 on n*4 bytes
size of the file/directory 2 on 4 bytes
...
character string with name of the last file/directory on n*4 bytes
0 for the end of the list on 4 bytes
Assigned memory should be restored ( MEMOIRE_LIBERE) after use.


adr_nom,nbc,adr_mem,taille_max FICHIER_LIRE erreur

Reading of a file at address adr_mem on a maximal size size_max and the way/name of which is pointed with the character string adr_name of length nbc.
error is zero if everything took place well


adr_mem,taille,adr_nom,nbc FICHIER_ECRIRE erreur

Writing of a file from the address adr_mem on a length size and whose way/name is pointed with the character string adr_nom of length nbc.
error is zero if everything took place well


- PWD -

Command showing the characteristics of the file system and the current way


- CD" chemin" -

Command allowing to move in file system


- LS" chemin" -

Showing of the contents of the directory "way"


- MKDIR" chemin/nom" -

Creation of the directory "way/name"


- RM" chemin/nom" -

Suppression of the file "way/name"


- RMDIR" chemin/nom" -

Suppression of the directory "way/name"


- MORE" chemin/nom" -

Printing on the screen of the text file "way/name"


adr_nom,nbc CF -

Routine common to CF" and BINAIRE_CHARGE


- CF" chemin/nom" -

Compilation of the FORTH source file"way/name"


- CP" chemin1/nom1 chemin2/nom2" -

Copy of file


- MV" chemin1/nom1 chemin2/nom2" -

Movement of file


- XMODEM_RECOIT" chemin/nom" -

Reception of the file "way/name" under XMODEM protocol


- XMODEM_EMET" chemin/nom" -

Transmission of the file "way/name" under XMODEM protocol


- BINAIRE_INDEX adresse

Variable containing theloading address of the file " LANCE.BIN "


- S_BINAIRE adresse

Character string containing " ./ BINAIRES/LANCE.BIN "


- BINAIRE_CREE -

Creation of the file " LANCE.BIN "


- BINAIRE_CHARGE -

Load of the file " LANCE.BIN "


- S_LANCE adresse

Character string containing "./LANCE"


- LANCE -

Load of the file "LANCE" for system starting up


- CARACTERES_GRAPHIQUES adresse

Address of the alphanumeric characters generator with a 7x10 matrix (10 words of 16 bits for each character)


limites,dx,dy,teinte,x,y,adr_motif TRACE_MOTIF_RELIEF limites,dx,dy,teinte,x,y

Symbol drawing with 3D effect:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
dx,dy: width and height of thesymbol in number of pixels (dx <= 16),
tint: tint of the pixel,
x,y: absolute coordinates from the left superior corner of the symbol,
adr_motif : address of thesymbol matrix.


limites,teinte,gen_car,x0,y0,adr,nbc TRACE_CHAINE_RELIEF limites,teinte,gen_car,x0,y0,adr

Character string drawing with 3D effect:
limits: pointer on xmin, ymin, xmax, ymax describing the displaying area,
tint: tint of the pixel,
gen_car: character matrix generator address,
x0,y0: absolute coordinates from the left superior corner of the first character,
adr: character string address,
nbc: character number.


- COINS adresse

Address of a specific characters generator for TRACE_CONTOUR instruction


limites,teinte,x1,y1,x2,y2,enf/rel TRACE_CONTOUR limites

Drawing of an oblong beveled outline (3 pixels):
limites: pointer on xmin, ymin, xmax, ymax describing the drawing zone,
teinte: tint of the bottom,
x1,y1,x2,y2: corners coordinates in absolute in the screen,
enf/rel: choice of the pushed or pulled aspect of the outline.


x1,y1,x2,y2 TRACE_CADRE x1,y1,x2,y2

Drawing of an rectangular frame (3 pixels) in inverted video.
This routine is used with the Graphic User Interface for the windows manipulations:
x1,y1,x2,y2: corners coordinates in absolute in the screen.


limites,teinte,x1,y1,x2,y2,position,taille,total,fond TRACE_POTAR_V limites

Drawing of a vertical rectilinear potentiomter:
limites: pointer on xmin, ymin, xmax, ymax describing the drawing zone,
teinte: tint of the bottom,
x1,y1,x2,y2: corners coordinates in absolute in the screen,
Position: position of the cursor (0 to total),
taille: size of the cursor (0 to total),
total: height of the potentiometer,
fond: tint of potentiometer imprint.


limites,teinte,x1,y1,x2,y2,position,taille,total,fond TRACE_POTAR_H limites

Drawing of an horizontal rectilinear potentiomter:
limites: pointer on xmin, ymin, xmax, ymax describing the drawing zone,
teinte: tint of the bottom,
x1,y1,x2,y2: corners coordinates in absolute in the screen,
Position: position of the cursor (0 to total),
taille: size of the cursor (0 to total),
total: width of the potentiometer,
fond: tint of potentiometer imprint.


- PRESSE_PAPIER adresse

Buffer address for copy paste


- FOND_ECRAN adresse

Address of the called program when there is action on a mouse button of which the cursor is on the screen bottom


- ACTION_UTILISATEUR adresse

Variable used by the management of the screen saver mode


- SOURIS dx,dy

Routine giving the movement of the mouse in x and y.
This movement is put back to zero for the following calling


- BOUTON_GAUCHE enf/rel

Routine giving the state of the mouse lef button(variable V_BOUTON_GAUCHE):
enf/rel: 0 if no user action


- BOUTON_MILIEU enf/rel

Routine giving the state of the mouse middle button(variable V_BOUTON_MILIEU):
enf/rel: 0 if no user action


- BOUTON_DROIT enf/rel

Routine giving the state of the mouse righ button(variable V_BOUTON_DROIT):
enf/rel: 0 if no user action


- SYMBOLES_MENU adresse

Address of the graphic generator of the windows symbol at the right top of them


- GRAPHIQUES_16 adresse

Address of a graphic characters generator with a 16x16 matrix (16 words of 16 bits by characters).
This generator is used by the Graphic User Interface of the system


- GRAPHIQUES_12 adresse

Address of a graphic characters generator with a 12x16 matrix (12 words of 16 bits by characters).
This generator is used by the Graphic User Interface of the system


x1,y1,x2,y2,adr_f,index_f SPF_RETRACE x1,y1,x2,y2,adr_f,index_f'

Recursive routine for F_RETRACE:
x1,y1,x2,y2: corners coordinates in absolute in the screen,
adr_f: top window description address,
index_f,index_f': update windows index.


x1,y1,x2,y2,adr_f F_RETRACE -

Update routine of of the graphic screen contents in the indicated zone:
x1,y1,x2,y2: corners coordinates in absolute in the screen,
adr_f: all zone update if zero
else only visible part update of
the window having the corresponding description address.


x0,y0,adr_f F_POSITION -

Initial window position initialization:
x0,y0: corner coordinates at the top to the left of the window in absolute in the screen,
adr_f: window description address.


dx,dy,adr_f F_TAILLE -

Initial window size initialization:
dx,dy: width and height initial in pixels,
adr_f: window description address.


dxmin,dymin,dxmax,dymax,adr_f F_LIMITES -

Minimal and maximal sizes initialization of a window becoming so resizable:
dxmin,dymin: minimal width and height in pixels,
dxmax,dymax: maximal width and height in pixels,
adr_f: window description address.


adr_f F_ACTIVE -

Window activation:
adr_f: window description address.


adr_f F_AJOUTE -

Addition of a new window descriptor and activation of this one:
ATTENTION: can be used only when all the window parameters are initialized,
adr_f: window description address.


adr_f F_RETIRE -

Extraction of a window:
adr_f: window description address.


x0,y0,dx,dy,adr_f F_MODIFIE -

Movement and resizing of a window
x0,y0: corner coordinates at the top to the left of the window in absolute in the screen,
dx,dy: width and height in pixels,
adr_f: window description address.


x,y F_SELECTION adr_f

Searching of the top window descriptor a x and y coordinates:
x,y: coordinates in absolute in the screen,
adr_f: window description address or 0 background


- FLIST -

List windows with their coordinates and their dimensions


- T_CONTROLE adresse

Management task of the Graphic User Interface


adr_s DIALOGUE_MESSAGE -

Dialog box for displaying a message:
adr_s: address of the message character string.


adr_prgm,adr_s DIALOGUE_EXECUTE -

Dialog box for indicating a program execution:
adr_prgm: program address to be executed,
adr_s: address of the comment character string.


b,adr_s DIALOGUE_OUI/NON b'

Dialog box to ask a question with answer yes or no:
b: default answer(0 for no),
adr_s: address of the question character string,
b': user answer.


n,adr_s DIALOGUE_CHOIX n'

Dialog box to ask for the choice among several options:
n: line numbre of the default choice,
adr_s: address of the options character string (a carriage return is separator),
n': line number of the user choice.


n,base,adr_s DIALOGUE_NOMBRE n'

Dialog box to ask an integer:
n: initial value of the integer,
base: integer displaying base,
adr_s: address of the comment character string,
n': final value of the integer.


adr_t,nbc_max,adr_s DIALOGUE_TEXTE nbc

Dialog box to ask a character string:
adr_t: address of the character string,
nbc_max: maximal number of characters,
adr_s:address of the comment character string,
nbc: final number of characters.


- DIALOGUE_BOUTON_GAUCHE -

Mouse cursor management during left button activation (used by the Graphic User Interface).


adr_nom,lec/ecr DIALOGUE_FICHIER adr'_nom

Dialog box to navigate in file system:
adr_nom: character string address containing the way and the name of the initial file,
lec/ecr: file read or write request (0 for write),
adr'nom: character string address containing the way and the name of the chosen file.
adr'nom is -1 if user chose to cancel action or if an access problem to the file system occured.


teinte,adr_s DIALOGUE_PALETTE teinte'

Dialog box to ask a 8 bits color:
teinte: default color,
adr_s: address of comment character string,
teinte': final color (-1 if operation cancelled by user).


red,green,blue,adr_s DIALOGUE_RVB red',green',blue',b

Dialog box to ask a 24 bits color:
red,green,blue: default color,
adr_s: address of comment character string,
red',green',blue': final color
b: different from 0 if operation cancelled by user.


f,adr_s DIALOGUE_FLOTTANT f'

Dialog box to ask a float number:
f: initial value of the number,
adr_s: address of the comment character string,
f': final value of the number.


- F_FORTH adresse

FORTH window description area address


- T_FORTH adresse

Management task of the FORTH window


- A_FORTH -

User Graphic User Interface program launch program


- INSTALLE_FOND_ECRAN -

Screen background management program


- CALCULETTE -

Floating decimal point calculator application ( 64 bits)


- BECANE -

Integer calculator application ( 32 bits)


- MEM_EDIT -

System memory content edition application


- TXT_EDIT -

Text edition application


- XMD_EDIT -

Transfert under XOMDEM protocol application


n1h,n1l,n2h,n2l ++ (n1+n2)h,(n1+n2)l

32 bits addition


n1h,n1l,n2h,n2l -- (n1-n2)h,(n1-n2)l

32 bits soustraction


- IDLE -

Processor clock halted


- SLEEP -

All clocks halted


- ITRX1 adresse

Address of a replacement program for the UART1 reception interrupt (2 words of 16 bits)


- TELEC adresse

Address of the duration in millisecond before the end of a downloading


- CNTITP adresse

Address of a parasitic interuptions counter cleared at the RESET

- MEM_PRGHERE adresse

Address of the "PRGHERE" value (2 words of 16 bits)


- PRG_PNT adresse

Address of a 32 bits variable containing the pointer to the FLASH memory block which is modified


- PRGHERE adrh,adrl

Deposit on the data stack the compilation address


adrh,adrl >PRGHERE -

Initialize the compilation address


adrh,adrl PRG@ nh,nl

24 bits word reading from the FLASH memory


nh,nl,adrh,adrl PRG! -

24 bits word writting in the FLASH memory


nh,nl PRG, -

Compilation of a word of 24 bits
The
compilation address (PRGHERE) is incremented by 2


adrh,adrl EEP@ n

16 bits word reading from the EEPROM memory
ONLY FOR PIC24F AND dsPIC30F


n,adrh,adrl EEP! -

16 bits word writting in the EEPROM memory
ONLY FOR PIC24F AND dsPIC30F


- TIMER1_UART1_INIT -

Initialization of TIMER1 and UART1

- SEQUENCE adr
Address of the variables used by the sequencer management

- IT1MS adr

Storage address of the interrupt vector 1 ms

adrh,adrl IT1MS!! -

Writing of the interrupt vector 1 ms


- SEQ_BEGIN[ -

Begin of a sequence table

deb_per,nbr_per SEQ_ADD "nom" -

Insertion of a sequence in a sequence table:
"nom" eis the name of the FORTH word which must be run
deb_per indicates the number of the first running period
nbr_per indicates the duration between 2 runnings


- SEQ_END] -

End of a sequence table


- SEQ_LIST -

List of the activated sequence table