Index des instructions en Omikron Basic 3.01 (Atari)

For more details, see the complete page Omikron 3.01

Attention: ceci n’est qu’un index des instructions de l’Omikron 3.01. Pour les détails, voir la page complète Omikron 3.01.

LES caractères [entre crochets] sont optionnels, et une virgule admet une suite de même type. Les "" représentent une chaîne de caractères. Une variable$ peut généralement être remplacée par une chaîne de caractères, à condition de s’entourer de guillemets. Il existe 2 types d’instructions: les commandes, qui s’emploient de manière directe (RUN, MOUSEON, CIRCLE…) et les fonctions, qui contiennent une valeur et qui nécessitent un PRINT ou une relation d’égalité, appelée allocation (?SQR(7744), KEY 1= "Chaine", V!= SIN(PI/4)…).

V, W$… sont des variables, Et =Etiquette, n =nombre naturel ou , x, y ou u, v sont des coordonnées en pixels, l =largeur, h =hauteur, Can = canal, Adr = Adresse en mémoire, L = longueur, R = retour, A et B sont des opérandes, "Nom" et "*.*" sont des fichiers. < > représente une instruction quelconque.

A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X

ExpressionUtilisationDescription
!Variable!suffixe Réel simple précision
#Variable#suffixe Réel double précision
$Variable$suffixe Chaîne de caractères
$$4F3Dpréfixe base hexadécimale
%%10010préfixe base binaire
%BTableau%B(4)suffixe octet, dans les tableaux uniquement
%FTableau%F(3)suffixe booléen, dans les tableaux uniquement
%[W]Variable%suffixe Entier court, W facultatif
[%L]Variablesuffixe Entier long, facultatif
[&d]43préfixe base décimale, facultatif
&[o]&4672préfixe base octale, o facultatif
'' commentaireabréviation de REM
, PRINT A$, B$affichage à la tabulation suivante (tous les 8 caractères)
;PRINT A$;"-";B$;imprime à la suite; empêche le saut de ligne si à la fin
< = >IF A < 3opérateurs d’ordre
=Variable=43allocation de valeur à une variable
?? Variableabréviation de PRINT
\43 \ 5division entière
ˆ2^5exposant
@(l, c)?@(l, c);V$affichage "ligne-colonne"

A

ABS?ABS(V)valeur absolue
AND?A AND B"ET" logique
ARCCOS?ARCCOS(V!)arccosinus
ARCCOT?ARCCOT(V!)arccotangente
ARCOTH?ARCOTH(V!)arccotangente hyperbolique
ARCSIN?ARCSIN(V!)arcsinus
ARCTAN ou ATN?ARCTAN(V!) ou ATN(V!)arctangente
ARSINH?ARSTYH(V!)arcsinus hyperbolique
ARTANH?ARTANH(V!)arctangente hyperbolique
ASC [Alt_A]?ASC("")code ASCII du 1er caractère

B

BACKUPBACKUP "Nom"copie *.BAK d’un *.BAS
BIN$?BIN$(V)convertit en chaîne binaire
BIOSBIOS([R], n[, param])fonctions-système
BIT?BIT(n, V)donne la valeur du bit n de V
BITBLTBITBLT x, y, l, k TO u, v, l, hdéplacement d’image
BITBLTBITBLT x, y, l, h TO Adrvers mémoire
BITBLTBITBLT Adr TO x, y, l, h, de 0 à 15
BLOAD [Alt_B]BLOAD "Nom", Adrcharge sur écran/en mémoire
BOXBOX x, y, l, h ou BOX x, y TO u, vrectangle
BSAVEBSAVE "Nom", Adr, nsauve l’écran/la mémoire

C

CALLCALL V (p, q, ) prg appelé de l’adresse V
CDBL?CDBL(V)convertit en double-precision
CHAINCHAIN [MERGE] "Nom.BAS"chaîne un *.BAS
CHDIRCHDIR"A;\ DOSSIER"change le chemin d’acces
CHR$?CHR$(n)caractère ASCII de 0 à 25S
CHR$(27)?CHR$(27);"n"code Escape
CINT?CINT(V)convertit en entier court
CINTL?CINTL(V)convertit en entier long
CIRCLECIRCLE x, y, r[, d, a]d et a en 1/10 degré
CLEARCLEARvariables à 0, vérifie les boucles
CLEARCLEAR m[, n]mémoire GEMDOS et Pile
CLIPCLIP x, y, l, h ou CLIP x, y TO u, vlimite d’affichage
CLOSECLOSE Canferme le canal
CLSCLSefface l’écran
CMDCMD Cantoute sortie vers un fichier
COMMONCOMMON V, W$conserve les valeurs pour CHAIN
CONT [Alt_C]CONT [TO n]après un STOP
COPYCOPY "A:\Nom" TO "C:\Nom"copie un fichier
COS?COS(V!)cosinus
COSEC?COSEC(V!)cosécante
COSECH?COSECH(V!)cosécante hyperbolique
COSH?COSH(V!)cosinus hyperbolique
COT?COT (V!)cotangente
COTH?COTH(V!)cotangente hyperbolique
CSNG?CSNG(V)convertit en simple-précision
CSRLIN?CSRLINligne du curseur (1 à 25)
CVD?CVD(V$)V$= 10 caractères -> V#
CVI?CVI(V$)V$= 2 caractères -> V%
CVIL?CVIL(V$)V$= 4 caractères -> V
CVS?CVS(V$)V$= 6 caractères -> V!

D

DATA [Alt_D]DATA "chaine", nombresdonnées pour READ
DATE$?DATE$ : DATE$=""retourne ou définit la date, voir MODE
DEFDBLDEFDBL Vdéfinit une variable en double-précision
DEF FNDEF FN Nom[$]: < > RETURN(V[$])définit une fonction
DEFINTDEFINT V-Zdéfinit var. entiers courts
DEFINTLDEFINTL V, Zdéfinit var. entiers long
DEF PROCDEF PROC Nom[p, q, ] ou [R p, R q, ]définit une procédure
DEFSNGDEFSNG A-C, Wdéfinit var. simple précision
DEF SPRITEDEF SPRITE n, Type, Adr_Fond
DEF SPRITE n, 0
définit une icone mobile
DEFSTRDEFSTR Vdéfinit variables-chaîne
DEF USRDEF USR=Adrfixe l’Adresse d’un prog-mach
DEGDEGpassage en mode degré
DETX#=DET(V#(n, n))déterminant de matrice
DIMDIM V[$](n, m, )dimensionne un tableau
DRAWDRAW x, y ou DRAW x, y TO u, vtrace un point ou une ligne
DUMPDUMP [B, V-Z]affiche les variables [selon leurs initiales]

E

EDIT [Help]EDIT [n]entre dans l’éditeur GEM (ligne n)
ELLIPSEELLIPSE x, y, r1, r2[, d, a]d, a en 1/10 de degré
ELSE [Alt_E]IF < > THEN < > ELSE < > ENDIFcondition alternative
ENDENDarrêt définitif du programme .BAS
ENDIFIF < > THEN < > [ELSE < >] ENDIFplusieurs lignes
EOFEOF(Can)retourne -1 si fin de fichier "I"
EQV?A EQV Béquivalence logique
ERL?ERLn° de ligne de la dernière d’erreur
ERR?ERRn° de la dernière erreur
ERR$?ERR$libellé de la dernière erreur
ERRORERROR nsimule l’erreur n, de 1 à 70
EXECEXEC "A:\Nom.PRG"[, "A:\Nom.PRG"]lance un programme chargeant un fichier
EXITEXIT [TO Et]pour sortir d’une boucle
EXP?EXP(V)exponentielle de base e

F

FACT?FACT(n)factorielle
FIELDFIELD Can, n AS V$, longueurs des champs
FILESFILES "A:\DOSS\Nom" ou "*.* ou "*.BAS"liste fichiers et répertoires
FILESELECTFILESELECT(Chemin$, Nom$, R)variable$!
FILLFILL x, y, -1la zone doit être délimitée + CLIP!
FILL COLORFILL COLOR=ncouleur Hardware
FILL PATTERNFILL PATTERN= T%(0): FILL STYLE=4, 1détermination du motif de remplissage utilisateur
FILL STYLEFILL STYLE n, m - 0, 1 - 1, 1 - 2, 2-24 - 3, 1-12motifs de remplissage prédéfini
FIX?FIX(V!)supprime la partie décimale
FN?FN Nomappel de fonction
FOR [Alt_F]FOR I= m TO n [STEP p] : < > : NEXTboucle itérative
FORM_ALERTFORM_ALERT(Def, "[n][Tex|te][Ch|oi|x]", R)appel d’une boîte d’alerte
FRAC?FRAC(V!)retourne la partie décimale
FRE?FRE("A:"), ?FRE(0), ?FRE(""), FRE(Adr)renseigne la quantité ou libère la mémoire

G

GEMDOSGEMDOS([R], Nr[, param])fonctions-système
GETGET Can, Vlit fichiers "R" et "F"
GETGET Can, Adr, L … GET Can, V$fichiers "U"
GOSUBGOSUB n - GOSUB Et - GO SUB(V[$]) - RETURNappelle une routine
GOTO [Alt_G]GOTO n - GOTO Et - GOTO(V[$])saute à l’endroit désigné
GOTO [Alt_G]GOTO n-mpeut lancer un programme à un endroit

H

HCOPY [Alt_H]HCOPYimprime l’écran sur imprimante matricielle
HCOPY TEXTHCOPY TEXTimprime texte seul
HEX$?HEX$(V)convertit en chaîne hexadécimale
HIGH?HIGH(V)mot de poids fort d’un long

I

IFIF < > THEN < > [ELSE < > : ENDIF]condition
IMP?A IMP Bimplication logique
INKEY$WHILE A$="": A$=INKEY$: WEND: ?HEX$(CVIL(A$))prend un caractère du tampon clavier
INLINEINLINE ""une ligne d’instructions-machine
INPUT [Alt_I]INPUT [@(l, c) "Texte"] V[$], W[$], champ éditable simple
INPUT#INPUT #Can, V[$], fichier "I" (lecture), canal de 1 à 16
INPUT USINGINPUT [@(l, c) ""] V$ USING "Com$", R, n, a, Pformate une champ éditable
INPUT$V$=INPUT$(n)attend n caractères
INPUT$INPUT$(n, Can)lit n caractère sur le Canal
INSTRINSTR([n, ]V$, W$)position de W$ dans V$
INTINT(V!)arrondit au nombre inférieur
INVMAT A!(n, n)=INV B!(n, n)inverse une matrice carrée
IPLIPL nniveau de priorité, de 0 à 7

J

JOYSTICKA=JOYSTICK(n); BIN$(A)n=0 ou 1

K

KEY [Alt_K]KEY n =""n= 1 à 20, 32 caractères max
KEY LISTKEY LISTliste les fonctions associées aux touches
KILLKILL "Nom" ou KILL "DOSSIER\*.BAS"efface un ou plusieurs fichiers

L

LDUMPLDUMPaffiche les variables sur imprimante
LEFT$?LEFT$(V$, n)retourne les n caractères de gauche
LEN?LEN(V$)longueur de la chaîne
LET[LET] V=nombre ou [LET] V$="chaine"allocation
LIBRARYLIBRARY GEM, "Chemin\GEM.LIB"charge la librairie "GEM"
LINE COLORLINE COLOR=ncouleur Hardware
LINE INPUTLINE INPUT V$saisie de , et ""
LINE INPUT#LINE INPUT #Can, " "fichiers "I"
LINE PATTERNLINE PATTERN=n: LINE STYLE=7n est %W
LINE STYLELINE STYLE=nn= 0 à 7
LINE WIDTHLINE WIDTH=nn impair
LISTLIST [m, n]liste le programme [de m à n]
LIST ERLLIST ERLretourne la ligne de la dernière erreur
LLISTLLISTliste sur imprimante
LN?LN(V)logarithme naturel de base e
LOADLOAD "A:\DOSSIER\Nom"charge fichier *.BAS
LOC?LOC(Can)dernier enregistrement "R" lu
LOCALLOCAL Vdéfinit des variables locales
LOF?LOF(Can)longueur "I", n de "R"
LOG?LOG(V, W)logaritme en base V de W
LOW?LOW(V)mot de poids faible d’un long
LOWER$LOWER$(V$)passe un texte en minuscule
LPEEK?LPEEK(Adr)donne le contenu, adresse paire
LPOKELPOKE Adr, ninscrit un %L, adresse paire
LPOS?LPOS(0)colonne de la tête d’imprimante
LPRINT [Alt_L]LPRINTaffiche sur imprimante
LSETLSET V$="chaine"formate par la gauche

M

MATMAT A!(l, c)= MAT B!(l, p) * MAT C!(p, c)multiplication de deux matrices
MATMAT V!(n, n)=1génère une matrice unité
MAT CLEARMAT CLEAR V(n, m, )efface le tableau
MAT CLEARMAT CLEAR V(n)efface jusqu’à l’élément n
MAX?MAX(V$, W$)choisit le plus grand (ASCII)
MEMORYAdr= MEMORY(n)réserve n octets de mémoire
MEMORYAdr= MEMORY(V$)réserve et place en mémoire
MEMORYMEMORY(-1)affiche la mémoire du GEMDOS
MEMORY_BLOCKMEMORY_BLOCK xx, L, Adrsauve une zone avec le programme
MEMORY_MOVEMEMORY_MOVE Adr1, L TO Adr2Adresses paires
MEMORY_MOVEBMEMORY_MOVEB Adr1, L TO Adr2octet par octet
MERGEMERGE "Nom"[, n]charge sans écraser
MID$ [Alt_M]?MID$(V$, n, m)m caract. à partir du n°
MIN?MIN(V$, W$)choisit le plus petit (ASCII)
MIRROR$?MIRROR$(V$)renverse une chaîne
MKDIRMKDIR "A:\Nom"crée un dossier
MKD$MKD$(V#)transforme en chaîne de 10 car
MKI$?MKI(V%)transforme en chaîne de 2 car
MKIL$?MKIL(V)transforme en chaîne de 4 car
MKS$?MKS(V!)transforme en chaîne de 6 car
MOD?A MOD Breste de division
MODEMODE "GB", "F", "D" ou "USA"formatage date/heure
MODEMODE=nmodes d’affichage graphique
MODE LPRINTMODE LPRINT "GB", "F", "D" ou "USA"
MOUSEBUT?MOUSEBUT0, 1, 2 ou 3 (pour les deux boutons)
MOUSEOFFMOUSEOFFefface le curseur de la souris
MOUSEONMOUSEONaffiche le curseur de la souris
MOUSEX [Alt_X]?MOUSEXde 0 à 639 ou 319 \ selon la
MOUSEY [Alt_Y]?MOUSEYde 0 à 399 ou 199 / resolution

N

NAMENAME "Nom" AS "Autre"renomme un fichier
NAND?A NAND Binverse du "ET" logique
NDCNDC x, y, l, h(0, 0) en bas à gauche
NEWNEW ["Nom"]efface [et choisit le suivant]
NEXT [Alt_N]FOR I= m TO n [STEP p] < > : NEXTboucle itérative
NOISENOISE m, Plage32 plages de fréquences
NOR?A NOR Binverse du "OU" logique
NOT?NOT Ainversion des bits

O

OCT$?OCT$(V)convertit en chaîne octale
ON ERROR GOTOON ERROR GOTO npour traitement d’erreur
ON GOSUBON n GOSUB n1, n2, choisit la routine
ON GOTOON n GOTO n1, n2, choisit la ligne
ON HELP GOSUBON HELP GOSUB nroutine si [Help]
ON KEY GOSUBON KEY GOSUB nroutine si [Touche]
ON MOUSEBUTON MOUSEBUT GOSUB nroutine si bouton-souris
ON RESTOREON n RESTORE n1, n2, choisit les DATA
ON TIMERON TIMER n GOSUB nroutine toutes les n secondes
ON TRON GOSUBON TRON GOSUB nroutine à chaque instruction
OPEN [Alt_O]OPEN "O", Can, "Nom"ouvre un fichier séquentiel en écriture
OPENOPEN "A", Can, "Nom"ouvre un fichier séquentiel en ajout d’écriture
OPENOPEN "I", Can, "Nom"ouvre un fichier séquentiel en lecture
OPENOPEN "C", "K", "M", "V" ou "P"ouvre d’autres fichiers séquentiels: console, clavier, midi, modem ou imprimante
OPENOPEN "R", Can, "Nom", Lfichief relatif
OPENOPEN "F", Can, "A:\"fichier directory
OPENOPEN "U", Can, "NOM"fichier relatif de champs à taille variable
OR?A OR B"OU" logique
OUTLINEOUTLINE ON ou OFFcontours ou non des P-figures

P

PALETTEPALETTE C1, C2, Cn=RVB; R, V et B de 0 à 7
PBOXPBOX x, y , l, h ou TO u, vboîte remplie
PCIRCLEPCIRCLE r, y, rcercle rempli
PEEK?PEEK(Adr)lit un octet en mémoire
PELLIPSEPELLIPSE x, y, r1, r2ellipse remplie
PI?PI ou V!=PIdouble précision par défaut
POINT?POINT(x, y)retourne la couleur du point
POKEPOKE Adr, ninscrit un octet en mémoire
POLYGONEPOLYGONE (O, n)n= 2 X côtés + 2
POS?POS(O)n° de colonne du csr
PPOLYGONEPPOLYGONE= T%(O, n)polygone rempli
PRBOXPRBOX x, y, l, h ou TO u, vboîte arrondie remplie
PRINT [Alt_P]PRINT V[$], W[$] ou V[$], W[$]affiche sur écran
PRINT #PRINT #Can, V_fichier "O" et "A"
PRINT @PPRINT @(l, c); V[$]l de 0 à 24, c de 0 à 79
PRINT SPCPRINT SPC(n)imprime n espaces
PRINT TABPRINT TAB(c);saute à la co1onne c
PRINT USINGPRINT USING "####";Vformate un nombre à l’affichage
PUTPUT Can, Lécrit dans fichiers "R"
PUTPUT Can, Adr, L ou PUT Can, V$fichiers "U"

Q

QUITQUITpour quitter le BASIC

R

RADRADpour revenir en mode radian si DEG
RBOXRBOX x, y, l, h ou TO u, vboîte arrondie
READREAD V[$], W[$], lit des DATA
REMREM ou 'pour des remarques ou titres
RENUMRENUM nv [, anc, pas]renumérote les lignes; RENUM seul: 1e ligne=100, pas=10
REPEATREPEAT: < > : UNTIL < >répéter
RESTORERESTORE [n], RESTORE Etrepositionne le pointeur pour les DATA
RESUMERESUME [NEXT], RESUME Etretourne au programme après un traitement d’erreur
RETURN [Alt_R]GOSUB, DEF PROC Nom[$], RETURNfin de sous-programme ou procédure fonction
RETURNDEF FN Nom[$]= ou RETURN (V[$])fin de fonction
RIGHT$?RIGHT$(V$, n)retourne les n car. de droite
RMDIRRMDIR "Dossier"détruit si vide
RNDRND(1), RND(n), -RND(-n), RND(0)nombre aléatoire, réel ou naturel
RSETRSET V$="chaine"formate par la droite
RUNRUN [n] ou RUN [Et]lance le programme en mémoire
RUNRUN "Nom"charge et lance un programme

S

SAVESAVE "Nom"[, A]sauvegarde un programme [en ASCII]
SCREENSCREEN n, Adrchoisit entre 3 écrans
SCREENSCREEN n, Adr, 4passe en moyenne résolution
SEC?SEC(V!)sécante
SECH?SECH(V!)sécante hyperbolique
SEEKSEEK Can, Depl, Modedéplacement dans un fichier "R"
SEGPTR?LPEEK(SEGPTR+n)pointeurs du programme
SGN?SGN(V)retourne le signe (1 ou -1) d’un nombre
SHL?A SHL(n)multiplication par 2^n
SHR?A SHR(n)division entière par 2^n
SIN?SIN(V!)sinus
SINH?SINH(V!)sinus hyperbolique
SORTSORT V[$](0) [TO W(0)] trie un tableaux à une dimension
SORT ASCSORT ASC T$(n)distingue MAJ et min.
SPACE$ ou SPC?SPACE$(n)chaîne de n espaces
SPRITESPRITE n, x, y, Adr_Dess, 0, 1appel du sprite n
SQR?SQR(V)racine carrée rapide
STEPFOR I= n TO m STEP p < > : NEXTpas
STOPSTOPsuspend un programme
STRING$?STRING$(n, "x") ou (n, Asc)="xxxxxxxxx"
STR$?STR$(V)transforme expr num en chaîne
SWAPSWAP A, Bintervertit A et B de même type
SYSTEM [Alt_S]SYSTEMpour quitter le BASIC

T

TAN?TAN(V!)tangente
TANH?TANH(V!)tangente hyperbolique
TEXTTEXT x, y, V$affiche un texte graphique
TEXT COLORTEXT COLOR= ncouleur Hardware
TEXT HEIGHTTEXT HEIGHT= nhauteur, n= 1 à 26
TEXT ROTATIONTEXT ROTATION= nn multiple de 900
TEXT STYLETEXT STYLE= n n= combinaison de paramètres
THEN [Alt_T]IF < > THEN < > [ELSE < > ENDIF]condition
TIMERT=TIMERen 200° de seconde
TIME$?TIME$ ou TIME$="hh:mm:ss", retourne ou définit l’heure
TROFFTROFFannule le suivant
TRONTRONpasse en mode "trace"
TUNETUNE 1, n, 2, m, 3, o, hauteur du son

U

UNTILREPEAT: < > UNTIL < >«jusqu’à»
UPPER?UPPER$(V$)passe un texte en majuscule
USING [Alt_U]USING "####" - USING ""formate un nombre
USR?USR[(V%L)]appelle un programme-machine

V

VAL?VAL(V$)transforme en valeur numérique
VARPTR [Alt_V]?VARPTR(V[$])adresse de la variable
VOLUMEVOLUME voie, nvolume pour la voie de 1 à 3, n de 0 à 15
VOLUMEVOLUME Voie, Env, Dureeenveloppe de son

W

WAITWAIT nen secondes, au 200°
WENDWEND < > : < > : ENDfin de WHILE
WHILE [Alt_W]WHILE < > : < > : WEND"tant que"
WPEEKWPEEK(Adr)donne le contenu (adresse paire)
WPOKEWPOKE Adr, ninscrit un court (adresse paire)
WRITEWRITE " "guillemets conservés
WRITE#WRITE #Can, " "dans fichier "A" et "O"
WVBLWVBLattend le retour de balayage vertical

X

XBIOSXBIOS([R], Nr[, param])fonctions-système
XOR?A XOR B"OU" exclusif logique