This is an old revision of the document!


Instruction hexdecCommentaire
exec 000Appel d'une procédure
ret 011Return
intb1022“Push” 1 octet
int4033“Push” un entier (4octets)
nil 044“Push” nil (0xffffffff)
drop 055drop top of stack
dup 066duplicate top of stack

le 1A 26 test “inférieur ou égal” des deux valeurs au sommet de la pile ge 1B 27 test “supérieur ou égal” des deux valeurs au sommet de la pile goto 2 1C 28 déplacement du pointeur programme else 2 1D 29 déplacement conditionnel du pointeur programme en fonction de la valeur au sommet de la pile mktabb 1 1E 30 crée une table dont la taille est constante et tient sur 8 bits mktab 1F 31 crée une table dont la taille est au sommet de la pile deftabb 1 20 32 crée une table dont la taille est constante et tient sur 8 bits, en initialisant les valeurs à partir de la pile deftab 21 33 crée une table dont la taille est au sommet de la pile, en initialisant les valeurs à partir de la pile fetchb 1 22 34 empile un élément d'un tuple, dont l'index est constant et tient sur 8 bits fetch 23 35 empile un élément d'un tuple, dont l'index est au sommet de la pile getglobalb 1 24 36 empiler une variable globale, dont l'index tient sur 8 bits getglobal 25 37 empiler une variable globale, dont l'index au sommet de la pile Secho 26 38 affichage d'une chaîne de caractères sur la sortie standard Iecho 27 39 affichage d'un entier en décimal sur la sortie standard setlocalb 1 28 40 écrit une variable locale, dont l'index tient sur 8 bits setlocal 29 41 écrit une variable locale, dont l'index est dans la pile setglobal 2A 42 écrit une variable globale setstructb 1 2B 43 écrit un élément d'un tuple, dont l'index est constant et tient sur 8 bits setstruct 2C 44 écrit un élément d'un tuple, dont l'index est donné dans la pile hd 2D 45 premier élément d'une liste tl 2E 46 liste privée de son premier élément setlocal2 2F 47 écrit une variable locale, dont l'index est dans la pile store 30 48 écrit un élément d'un tuple, dont l'index est donné dans la pile call 31 49 call subroutine callrb 1 32 50 call subroutine callr 33 51 call subroutine first 34 52 empile le premier élément d'un tuple time_ms 35 53 heure en millisecondes tabnew 36 54 création d'une table : valeur d'initialisation, taille de la table fixarg 37 55 réglage de l'environnement (limité à 4096 octets) abs 38 56 valeur absolue max 39 57 maximum min 3A 58 minimum rand 3B 59 nombre aléatoire sur 16 bits srand 3C 60 définition de la graine du générateur aléatoire time 3D 61 heure en secondes strnew 3E 62 création d'une nouvelle chaîne de caractères, dont la taille est passée en argument strset 3F 63 changement d'un caractère d'une chaîne : chaine, index, valeur strcpy 40 64 copie d'une sous-chaîne de caractère : chaîne destination, index destination, chaîne source, index source, longeur strcmp 41 65 Comparaison de deux chaînes de caractères strfind 42 66 recherche d'une sous-chaîne dans une chaîne : chaîne, index, sous-chaîne, index, taille ; retourne l'index dans la chaîne (nil si non trouvé) strfindrev 43 67 recherche inversée d'une sous-chaîne dans une chaîne : chaîne, index, sous-chaîne, index, taille ; retourne l'index dans la chaîne (nil si non trouvé) strlen 44 68 taille d'une chaîne de caractères strget 45 69 retourne le n-ième caractères d'une chaîne (entier entre 0 et 255) strsub 46 70 calcul d'une sous-chaîne : chaîne source, index source, taille strcat 47 71 concaténation de deux chaînes tablen 48 72 taille d'une table strcatlist 49 73 concaténation d'une liste de chaînes led 4A 74 définition de la couleur d'une led : numéro de la led, couleur rgb 24 bits motorset 4B 75 réglage d'un moteur : index moteur, direction motorget 4C 76 lecture de la position d'un moteur : index moteur button2 4D 77 lecture de l'état du bouton de tête : 0=relâché button3 4E 78 lecture de l'état de la molette : 0 = position maxi, 255= position butée playStart 4F 79 lancement du player audio : inutilisé, callback de remplissage du buffer audio (paramètre : nombre d'octets attendus) playFeed 50 80 remplissage du buffer audio : chaîne, index, taille. Retourne le nombre d'octets copiés dans le buffer playStop 51 81 arrêt du player audio load 52 82 lecture de la flash : chaîne destination, index, chaîne source (=“conf.bin”), index source (=0), taille udpStart 53 83 Démarre un serveur udp : port udp ; retourne un id de socket udpCb 54 84 Définit la callback udp, dont les arguments sont : id de socket, trame reçue, ip émetteur udpStop 55 85 Stoppe un serveur udp : port udp udpSend 56 86 Envoi d'une trame udp : id de socket, ip destinataire, port destinataire, chaîne, index, longueur gc 57 87 provocation du gc tcpOpen 58 88 Crée une connexion tcp : ip destinataire, port destinataire ; retourne un id de socket tcpClose 59 89 Ferme une connexion tcp : id de socket tcpSend 5A 90 Envoi d'une trame tcp : id de socket, ip destinataire, port destinataire, chaîne, index, longueur ; retourne l'index du prochain octet à transmettre tcpCb 5B 91 Définit la callback tcp, dont les arguments sont : id de socket, événement(-1 : erreur/fin, 2 : accept (dans ce cas, le troisième argument est l'id de la nouvelle socket), 0 : write, 1 : read), trame reçue save 5C 92 sauvegarde dans la flash : chaîne source, index source, chaîne destination (=“conf.bin”), index destination (=0), taille bytecode 5D 93 chargement d'un nouveau bytecode loopcb 5E 94 définition de la callback principale (appelée 20 fois par seconde) Iecholn 5F 95 affichage d'un entier en décimal sur la sortie standard, suivie d'un retour à la ligne Secholn 60 96 affichage d'une chaîne de caractères sur la sortie standard, suivie d'un retour à la ligne tcpListen 61 97 Démarre un serveur tcp : port tcp ; retourne un id de socket envget 62 98 lecture de l'environnement envset 63 99 réglage de l'environnement (limité à 4096 octets) sndVol 64 100 définition du volume du player audio rfidGet 65 101 lecture du tag rfid : retourne “nil” si aucun, “ERROR” si erreur, id de tag sinon playTime 66 102 retourne le temps de décodage netCb 67 103 Définition de la callback réseau, dont les arguments sont : trame, mac émetteur netSend 68 104 Envoi d'une trame réseau : chaîne source, index, taille, mac destination, xxx,xxx netState 69 105 Retourne l'état de la connexion netMac 6A 106 Retourne l'adresse mac de l'hôte (chaîne de 6 caractères) netChk 6B 107 Calcul le checksum IP : chaîne, index, taille, checksum de départ netSetmode 6C 108 Demande la passage dans un mode réseau particulier netScan 6D 109 Effectue un scan réseau : SSID cherché (nil : tous) ; retourne une liste [ssid mac bssid rssi channel rateset encryption] netAuth 6E 110 Procédure d'authentification : résultat du scan, mode d'authentification, style d'authentification, clef recStart 6F 111 lancement de l'enregistreur audio : fréquence (8000), gain (0=automatique), callback (paramètre : échantillon enregistré) recStop 70 112 arrêt de l'enregistreur audio recVol 71 113 calcul du volume : chaîne, index netSeqAdd 72 114 Mise à jour d'un numéro de séquence TCP : numéro initial, taille paquet strgetword 73 115 Lit un mot 16 bits dans un header IP : chaîne source, index strputword 74 116 Ecrit un mot 16 bits dans un header IP : chaîne source, index, valeur atoi 75 117 Conversion d'une chaîne en base 10 vers un entier htoi 76 118 Conversion d'une chaîne hexadécimale vers un entier itoa 77 119 Conversion d'un entier vers une chaîne en base 10 ctoa 78 120 Conversion d'un code ascii vers une chaîne d'un seul caractère itoh 79 121 Conversion d'un entier vers une chaîne en hexadécimal ctoh 7A 122 Conversion d'un caractère vers une chaîne en hexadécimal de taille 2 itobin2 7B 123 Conversion d'un entier vers une chaîne de deux caractères listswitch 7C 124 Recherche d'un élément quelconque dans une liste d'associations listswitchstr 7D 125 Recherche d'une chaîne dans une liste d'associations sndRefresh 7E 126 force l'appel à la routine de gestion du chip audio sndWrite 7F 127 Ecrit un registre du chip audio : numéro de registre, valeur sndRead 80 128 Lit un registre du chip audio : numéro de registre sndFeed 81 129 Ecrit directement dans le buffer du chip audio : chaîne, index, taille sndAmpli 82 130 Définit l'état de l'ampli : 1=on, 0=off corePP 83 131 Retourne le pointeur de pile corePush 84 132 Forcer l'empilement d'une valeur corePull 85 133 Forcer le dépilement d'une valeur coreBit0 86 134 Modifie le bit 0 de la valeur située au sommet de la pile tcpEnable 87 135 Place une socket tcp en pause : id de socket, mode (1=pause, 0=normal) reboot 88 136 Force le reboot : deux valeurs magic 0x0407FE58 0x13fb6754 strcmp 89 137 Comparaison de deux chaînes de caractères adp2wav 8A 138 Conversion adp vers wav : chaîne destination, index destination, chaîne source, index source, longueur wav2adp 8B 139 Conversion wav vers adp : chaîne destination, index destination, chaîne source, index source, longueur alaw2wav 8C 140 Conversion alaw/mulaw vers wav : chaîne destination, index destination, chaîne source, index source, longueur, type (xxx) wav2alaw 8D 141 Conversion alaw/mulaw vers wav : chaîne destination, index destination, chaîne source, index source, longueur, type (xxx) netPmk 8E 142 Calcul de la clef Pmk (Wpa) : ssid, clef wpa flashFirmware 8F 143 Flashage du firmware : chaîne, deux valeurs magic 0x13fb6754 0x0407FE58 crypt 90 144 Cryptage simple : chaîne, index, taille, clef, delta ; retourne la nouvelle clef uncrypt 91 145 Décryptage simple : chaîne, index, taille, clef, delta ; retourne la nouvelle clef netRssi 92 146 Retourne le Rssi moyen (puissance de réception) rfidGetList 93 147 lecture d'une liste de tags rfid rfidRead 94 148 lecture d'un bloc de données d'un tag : id du tag, numéro du bloc ; retourne les données (chaîne de 4 octets binaires) rfidWrite 95 149 écriture d'un bloc de données d'un tag : id du tag, numéro du bloc, donnée à écrire (chaîne de 4 octets) ; retourne 0 si ok