Le langage Exelbasic

ExelBasic est un langage fort complet. Les possibilités graphiques sont tout à fait correctes pour un micro de cette catégorie. Les commandes et instructions sont fortement inspirées de celle du CC-40 et du TI-99/4A de Texas Instruments:CALL COLOR, CALL CHAR, CALL SPEECH, etc...
Pour autant, l'Exelbasic n'est pas une simple réplique du TI Basic: il est agrémenté de nouvelles fonctions originales et très intéressantes:
- Les opérations sont calculées sur 14 chiffres (les 10 premiers chiffres significatifs sont affichés)
- Le nom des variables peut contenir jusqu'a 15 caractères.
- Instruction PEEK et POKE
- Possibilité d'afficher les caractères en double hauteur et/ou largeur.
- L'instruction HRON bascule l'affichage en mode graphique haute résolution.
- Tracés grâce aux instructions PLOT et LINE
- Possibilité de programmer le synthétiseur vocal (peu accessible aux programmeurs débutants)
Ce Basic est hélas mal documenté. Par soucis d'offrir un service de qualité, Exelvision proposa d'envoyer gratuitement à ses clients un manuel beaucoup plus complet.

 


 

Les fonctions

 

CALL CLEANUP

CONTINUE ou CON [numéro de ligne]

Utilisée en mode directe, permet de reprendre l'exécution d'un programme à partir du numéro de ligne si ce dernier est précisé.

LIST

Liste le programme. LIST "10" imprime le listing du programme (sous Exelbasic +)

NEW

Libère la mémoire utilisateur. Le programme en mémoire est ainsi effacé

NUMBER ou NUM

RENUMBER ou RENUM

SAVE "d:monfichier"

d=100: lecteur de disquettes A, d=101: lecteur B, d=1: lecteur de K7, d=2:l'Exemémoire. monfichier = nom du fichier.

LOAD "d:monfichier"


 

 

d=100: lecteur de disquettes A, d=101: lecteur B, d=1: lecteur de K7, d=2: l'Exemémoire. monfichier = nom du fichier.

Les commandes

ABS (expression numérique)

Donne la valeur absolue de la valeur spécifiée.

ACS (expression numérique)

Calcule l'arc sinus de la valeur spécifiée.

ASC (expression de chaîne de caractères)

Donne la valeur ASCII du premier caractère de la chaîne spécifiée.

ASN (expression numérique)

Calcule l'arc cosinus de la valeur spécifiée.

ATN (expression numérique)

Calcule la tangente de la valeur spécifiée.

CHR$ (expression numérique)

Renvoie le caractère correspondant au numéro ASCII donné dans l'expression numérique.

COS (expression numérique)

Calcule le cosinus de la valeur spécifiée.

EXP (expression numérique)

Calcule l'exponentielle de la valeur spécifiée.

INT (expression numérique)

Donne le plus grand entier qui est immédiatement inférieur ou égale à la valeur spécifiée.

INTRND (expression numérique)

KEY$

Suspend l'exécution du programme et attend la pression d'une touche. KEY$ prendra la valeur de la touche pressée et le programme reprend son exécution.

LEN (expression de chaîne de caractères)

Retourne le nombre de caractères contenus dans la chaîne spécifiée.

LN (expression numérique)

Retourne le logarithme népérien de la valeur spécifiée

LOG (expression numérique)

Retourne le logarithme décimal  de la valeur spécifiée

NUMERIC (expression de chaîne de
caractères)

Teste si la représentation numérique de l'expression de chaîne de caractères est valide. Retourne la valeur -1 si cette représentation est valide et 0 dans le cas contraire.

PI

constance dont la valeur, sur 11 décimales, est égale à : 3.14159265359.

POS (chaîne de caractères n°1,  chaîne
de caractères n°2,  expression numérique)

Fournie la position de la première apparition de la chaîne de caractère n°2 dans la chaîne de caractère n°1, la recherche commence à la position précisée dans l'expression numérique. Si la chaîne n'est pas trouvée, la valeur 0 est renvoyée. Les positions de caractères sont repérées en commençant par la gauche et commencent à 1.

RND

Fournie un nombre pseudo aléatoire inférieur à 1 et égal ou supérieur à 0. Ce nombre est compris dans une séquence pseudo aléatoire définie par l'instruction RANDOMIZE.

RPT$ (expression de chaîne de caractères,
expression numérique)

Fournit une chaîne de caractère constituée par la répétition de la chaîne de caractères spécifiée un nombre de fois égal à celui de l'expression numérique. Si la longueur de la chaîne obtenue est supérieure à 255, les caractères située au delà seront tronqués) et un message d'erreur sera généré.

SEG$

SGN (expression numérique)

Donne comme résultat: -1 si l'expression est négative, +1 si l'expression est positive et 0 si l'expression est nulle.

SIN (expression numérique)

Calcule le sinus de la valeur spécifiée.

SQR (expression numérique)

Calcule la racine carrée de la valeur spécifiée.

STR$

TAB (expression numérique)

Utilisée au sein de la fonction PRINT, elle définie la position d'affichage sur la ligne entre la colonne 1 et la colonne 40.

TAN

VAL (expression de chaîne de caractères)

Donne la valeur numérique de l'expression de chaîne de caractères. Elle est l'inverse de la fonction STR$

TAB

 

Les instructions

ACCEPT
ATTACH
BREAK
CALL
CALL CHAR
CALL EXEC (adresse,[paramètre à faire passer, dans les deux sens, entre le programme Basic et le programme en assembleur]): permet d'exécuter un programme en langage machine.
CLOSE
CLS
CALL COLOR
DATA
DEG :  Définit les degrés comme unité angulaire pour tous les calculs qui succédent l'instruction.
DELETE ou DEL
DIM nom du tableau (entier,entier,entier) : Spécifie les caractéristiques d'un tableau et réserve la place mémoire nécessaire. Ce tableau peut être de type numéro ou chaîne de caractères.
END : Termine u programme.
CALL ERR
CALL EXEC
FOR valeur initiale de boucle TO valeur finale de boucle STEP pas de la variable de boucle.
FORMAT
GOSUB numéro de ligne: Appel  de sous programme dont la première ligne se trouve au numéro de ligne spécifiée.
GOTO numéro de ligne: Instruction de saut à la ligne spécifiée.
GRAD : définit le grade comme unité d'angle pour les calculs ultérieurs.
CALL HRON
CALL HROFF
IF THEN ELSE
IMAGE
INPUT
CALL KEY1
CALL KEY2
LET variable numérique/chaîne  = expression numérique/chaîne : Affecte à une variable numérique ou une chaîne de caractères une expression numérique ou expression de chaîne.
CALL LINE
LINPUT
LOCATE
NEXT
ON BREAK
ON ERROR
ON GOSUB
ON GOTO
ON WARNIG
OPEN
PAUSE
CALL PEEK
CALL PLOT
CALL POKE
PRINT
PRINT USING
RAD : Définit les radians comme unité angulaire pour tous les calculs qui succédent l'instruction.
RANDOMIZE ou RANDOMIZE (expression numérique): génère une séquence de nombre pseudo aléatoire. l'expression numérique, optionnelle, sert de référence à la génération de la séquence.
READ
RELEASE
REM
RESTORE
RETURN
RUN
CALL SPEECH
STOP: Force la fin d'exécution du programme
SUB
SUBEND : Matérialise la fin d'un sous-programme.
SUBEXIT : Force la fin d'exécution d'un sous-programme et renvoie au programme principal, à la ligne suivant l'appel du sous-programme.
UNBREAK [numéro(s) de ligne]. Utilisée seule, retire tous les points d'arrêt d'un programme. Sinon retire les points d'arrêt placés aux lignes spécifiés
CALL VERSION (variable numérique) . La variable numérique contient le numéro de version d'Exelbasic.

 

Astuces

Vous désirez que le code source de votre programme en Exelbasic soit caché de tous, tapez:
CALL POKE(50500,136,15,0,14,246,215,1,36,32,130,46,10)
CALL EXEC(50500)

... à l'inverse, voici la méthode pour le faire réapparaître:
CALL POKE(50500,136,15,0,14,246,215,1,37,32,130,46,10)
CALL EXEC(50500)

La ligne de service affichant
<Radian> et autre <SHIF> en haut de votre écran est trop encombrante? Voici une méthode pour la faire disparaître sous Exelbasic:
CALL POKE(50432,162,5,45,162,137,45,10,162,5,45,162,200,45,10)
CALL EXEC(50432)





Vous êtes ici : Logiciels / Support Cartouche / Langage Exelbasic

Sans accord écrit préalable de ma part, vous n'êtes pas autorisé à distribuer, modifier, transmettre, réutiliser ou rediffuser le contenu de ce site.