Differences
This shows you the differences between two versions of the page.
opcodes [2011/04/08 17:24] alexis |
opcodes [2019/08/25 13:56] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ^Instruction^ ^hex^dec^Commentaire^ | ||
- | |exec| |00|0|Appel d'une procédure| | ||
- | |ret| |01|1|Return| | ||
- | |intb|1|02|2|" | ||
- | |int|4|03|3|" | ||
- | |nil| |04|4|" | ||
- | |drop| |05|5|drop top of stack| | ||
- | |dup| |06|6|duplicate top of stack| | ||
- | |getlocalb 1 07 7 empiler une variable locale, dont l' | ||
- | |getlocal 08 8 empiler une variable locale, dont l' | ||
- | |add 09 9 ajouter les deux valeurs au sommet de la pile | ||
- | |sub 0A 10 soustraire les deux valeurs au sommet de la pile | ||
- | |mul 0B 11 multiplier les deux valeurs au sommet de la pile | ||
- | |div 0C 12 diviser les deux valeurs au sommet de la pile | ||
- | |mod 0D 13 modulo des deux valeurs au sommet de la pile | ||
- | |and 0E 14 ET logique entre les bits des deux valeurs au sommet de la pile | ||
- | |or 0F 15 OU logique entre les bits des deux valeurs au sommet de la pile | ||
- | |eor 10 16 OU EXCLUSIF logique entre les bits des deux valeurs au sommet de la pile | ||
- | |shl 11 17 décalage vers la gauche | ||
- | |shr 12 18 décalage vers la droite | ||
- | |neg 13 19 changement de signe de la valeur au sommet de la pile | ||
- | |not 14 20 inversion des bits de la valeur au sommet de la pile | ||
- | |non 15 21 inversion booléenne | ||
- | |eq 16 22 test d' | ||
- | |ne 17 23 test de différence des deux valeurs au sommet de la pile | ||
- | |lt 18 24 test d' | ||
- | |gt 19 25 test de supériorité des deux valeurs au sommet de la pile | ||
- | le 1A 26 test " | ||
- | ge 1B 27 test " | ||
- | 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' | ||
- | fetch 23 35 empile un élément d'un tuple, dont l' | ||
- | getglobalb 1 24 36 empiler une variable globale, dont l' | ||
- | getglobal 25 37 empiler une variable globale, dont l' | ||
- | 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' | ||
- | setlocal 29 41 écrit une variable locale, dont l' | ||
- | setglobal 2A 42 écrit une variable globale | ||
- | setstructb 1 2B 43 écrit un élément d'un tuple, dont l' | ||
- | setstruct 2C 44 écrit un élément d'un tuple, dont l' | ||
- | 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' | ||
- | store 30 48 écrit un élément d'un tuple, dont l' | ||
- | 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' | ||
- | fixarg 37 55 réglage de l' | ||
- | 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, | ||
- | 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, | ||
- | 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, | ||
- | strfindrev 43 67 recherche inversée d'une sous-chaîne dans une chaîne : chaîne, index, sous-chaîne, | ||
- | 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' | ||
- | button3 4E 78 lecture de l' | ||
- | playStart 4F 79 lancement du player audio : inutilisé, callback de remplissage du buffer audio (paramètre : nombre d' | ||
- | playFeed 50 80 remplissage du buffer audio : chaîne, index, taille. Retourne le nombre d' | ||
- | playStop 51 81 arrêt du player audio | ||
- | load 52 82 lecture de la flash : chaîne destination, | ||
- | 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, | ||
- | gc 57 87 provocation du gc | ||
- | tcpOpen 58 88 Crée une connexion tcp : ip destinataire, | ||
- | tcpClose 59 89 Ferme une connexion tcp : id de socket | ||
- | tcpSend 5A 90 Envoi d'une trame tcp : id de socket, ip destinataire, | ||
- | 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 (=" | ||
- | 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' | ||
- | envset 63 99 réglage de l' | ||
- | sndVol 64 100 définition du volume du player audio | ||
- | rfidGet 65 101 lecture du tag rfid : retourne " | ||
- | 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, | ||
- | netState 69 105 Retourne l' | ||
- | netMac 6A 106 Retourne l' | ||
- | 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' | ||
- | recStart 6F 111 lancement de l' | ||
- | recStop 70 112 arrêt de l' | ||
- | 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' | ||
- | listswitchstr 7D 125 Recherche d'une chaîne dans une liste d' | ||
- | sndRefresh 7E 126 force l' | ||
- | 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' | ||
- | corePP 83 131 Retourne le pointeur de pile | ||
- | corePush 84 132 Forcer l' | ||
- | 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, | ||
- | wav2adp 8B 139 Conversion wav vers adp : chaîne destination, | ||
- | alaw2wav 8C 140 Conversion alaw/mulaw vers wav : chaîne destination, | ||
- | wav2alaw 8D 141 Conversion alaw/mulaw vers wav : chaîne destination, | ||
- | 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 | ||