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
Address of the variables used by the sequencer management
- IT1MS adr
Storage address of the interrupt vector 1 ms
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
List of the activated sequence table
|