Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| referencepcode [2026/08/02 12:23] – root | referencepcode [2026/08/02 12:31] (Version actuelle) – root | ||
|---|---|---|---|
| Ligne 25: | Ligne 25: | ||
| ^Code^Instruction^Paramètres^Taille^Libellé^Syntaxe assembleur| | ^Code^Instruction^Paramètres^Taille^Libellé^Syntaxe assembleur| | ||
| |000|VERS|d1|2|Ne fait rien, donne la version du compilé qui s' | |000|VERS|d1|2|Ne fait rien, donne la version du compilé qui s' | ||
| - | |001|JUMP|d3|4|Saut a l' | + | |001|JUMP|d3|4|Saut a l' |
| |002|DECL|d1 string|2+d1|Déclare une variable dont le nom est < | |002|DECL|d1 string|2+d1|Déclare une variable dont le nom est < | ||
| |003|SRCL|d3|4|Indique le début du code correspondant à la ligne <d3> du code source W, pour le fichier en cours (principal / include). Sert de point d' | |003|SRCL|d3|4|Indique le début du code correspondant à la ligne <d3> du code source W, pour le fichier en cours (principal / include). Sert de point d' | ||
| Ligne 38: | Ligne 38: | ||
| |012|SUBR|d1 string d3|5+d1|Déclaration d'une sub de nom < | |012|SUBR|d1 string d3|5+d1|Déclaration d'une sub de nom < | ||
| |013|COMP|d1|2|Compare les 2 éléments de la pile, les dépile puis empile 1 si le résultat de la comparaison est vrai, 0 si faux. Les opérateurs de comparaisons sont, de 1 à 9 ⇒ ''< | |013|COMP|d1|2|Compare les 2 éléments de la pile, les dépile puis empile 1 si le résultat de la comparaison est vrai, 0 si faux. Les opérateurs de comparaisons sont, de 1 à 9 ⇒ ''< | ||
| - | |014|JMPF|d3|4|Force un saut dans le code si la dernière comparaison était //fausse// ⇒ l' | + | |014|JMPF|d3|4|Force un saut dans le code si la dernière comparaison était //fausse// ⇒ l' |
| - | |015|JMPT|d3|4|Force un saut dans le code si la dernière comparaison était //vraie// ⇒ même comportement sinon que JMPF| | | + | |015|JMPT|d3|4|Force un saut dans le code si la dernière comparaison était //vraie// ⇒ même comportement sinon que JMPF|'' |
| |016|ADDN| |1|Additionne les 2 éléments de la pile, dépile les 2 éléments et empile le résultat. Si une valeur Dynamic est empilée, un conversion numérique est essayée, avec levée d' | |016|ADDN| |1|Additionne les 2 éléments de la pile, dépile les 2 éléments et empile le résultat. Si une valeur Dynamic est empilée, un conversion numérique est essayée, avec levée d' | ||
| |017|SBCN| |1|Soustrait les 2 éléments de la pile, comportement identique à ADDN|'' | |017|SBCN| |1|Soustrait les 2 éléments de la pile, comportement identique à ADDN|'' | ||
| Ligne 60: | Ligne 60: | ||
| |034|DCMP|op d1 string|3+d1|Compare la chaine de la variable pointée par //ad_var// avec le contenu de la variable de nom < | |034|DCMP|op d1 string|3+d1|Compare la chaine de la variable pointée par //ad_var// avec le contenu de la variable de nom < | ||
| |035|DSTO|d1 string|2+d1|Correspond à < | |035|DSTO|d1 string|2+d1|Correspond à < | ||
| - | |036|LETV|d1 string|2+d1|Affectation simple de variable. La variable de nom < | + | |036|LETV|d1 string|2+d1|Affectation simple de variable. La variable de nom < |
| |037|DCAT|d1 string|2+d1|Concaténation : à la variable de nom < | |037|DCAT|d1 string|2+d1|Concaténation : à la variable de nom < | ||
| |038|DTON| |1|Convertit la variable pointée par //ad_var// en numérique et l' | |038|DTON| |1|Convertit la variable pointée par //ad_var// en numérique et l' | ||
| |039|NTOD| |1|Dépile et convertit le nombre en chaine, mis dans // | |039|NTOD| |1|Dépile et convertit le nombre en chaine, mis dans // | ||
| - | |040|DELE| |1|Supprime la variable < | + | |040|DELE| |1|Supprime la variable < |
| |041|HLET| |1|Affecte à la variable pointée par //ad_var// une hashtable vierge. Le modulo et séparateur sont dans la pile, si 0 une valeur par défaut est utilisée.|'' | |041|HLET| |1|Affecte à la variable pointée par //ad_var// une hashtable vierge. Le modulo et séparateur sont dans la pile, si 0 une valeur par défaut est utilisée.|'' | ||
| - | |042|CLAS|d1 strin1 d1 string2|2+d1|Créé une classe globale de nom < | + | |042|CLAS|d1 strin1 d1 string2|2+d1|Créé une classe globale de nom < |
| |043|NLET|d1 string|2+d1|Instancie un objet, global, de la classe de nom < | |043|NLET|d1 string|2+d1|Instancie un objet, global, de la classe de nom < | ||
| |044|INCL|d1 string|2+d1|Include dans le source W : indique un changement de fichier source en cours (utile au debugger). Si <d1> = 0, correspond à un retour d' | |044|INCL|d1 string|2+d1|Include dans le source W : indique un changement de fichier source en cours (utile au debugger). Si <d1> = 0, correspond à un retour d' | ||
| Ligne 81: | Ligne 81: | ||
| |055|PSH9| |1|Empile la constante 9|'' | |055|PSH9| |1|Empile la constante 9|'' | ||
| |056|PSHA|d1|2|Empile la @VARSYS de [[: | |056|PSHA|d1|2|Empile la @VARSYS de [[: | ||
| - | |057|SQRT| |1|Calcule le racine carre de la pile, dépile et empile le résultat|'' | + | |057|SQRT| |1|Calcule le racine carre de la pile, dépile et empile le résultat|'' |
| - | |058|IEXP| |1|Puissance entiere a partir des 2 elements de la pile, dépile les 2 nombres et empile le résultat|'' | + | |058|IEXP| |1|Puissance entiere a partir des 2 elements de la pile, dépile les 2 nombres et empile le résultat|'' |
| |059|CLIB|d1 string|2+d1|Appel de la library de nom < | |059|CLIB|d1 string|2+d1|Appel de la library de nom < | ||
| |060|PVAI|d1 string|2+d1|Met dans //ad_var// l' | |060|PVAI|d1 string|2+d1|Met dans //ad_var// l' | ||
| Ligne 92: | Ligne 92: | ||
| |066|PSHT| |1|Empile le type de la variable pointée par //ad_var// (typeof), -1 si inconnu. Cette instruction //annule// le mode //typeof// (annulation a faire aussi quand exception autre que var inconnue)|'' | |066|PSHT| |1|Empile le type de la variable pointée par //ad_var// (typeof), -1 si inconnu. Cette instruction //annule// le mode //typeof// (annulation a faire aussi quand exception autre que var inconnue)|'' | ||
| |067|CRAZ| |1|Vide la //call stack// servant au passage des paramètres avant les instruction CALL CLIB MODL|'' | |067|CRAZ| |1|Vide la //call stack// servant au passage des paramètres avant les instruction CALL CLIB MODL|'' | ||
| - | |068|CPAN|d1 string|2+d1|Empile dans la call stack la var < | + | |068|CPAN|d1 string|2+d1|Empile dans la call stack la var < |
| |069|RETT| |1|Dépile et si la valeur est # 0 (vrai), force le retour à l' | |069|RETT| |1|Dépile et si la valeur est # 0 (vrai), force le retour à l' | ||
| |070|SELE| | |070|SELE| | ||
| Ligne 101: | Ligne 101: | ||
| |075|PHDH|d1 string|2+d1|enchainement PVAH/PVAI, en dernier crée/ | |075|PHDH|d1 string|2+d1|enchainement PVAH/PVAI, en dernier crée/ | ||
| |076|PIDH|d1 string|2+d1|enchainement PVAH/PVAI, en dernier crée/ | |076|PIDH|d1 string|2+d1|enchainement PVAH/PVAI, en dernier crée/ | ||
| - | |077|PHDO|d1 string|2+d1|enchainement PVAH/PVAI, en dernier cherche la sub < | + | |077|PHDO|d1 string|2+d1|enchainement PVAH/PVAI, en dernier cherche la sub < |
| |078|PIDO|d1 string | |078|PIDO|d1 string | ||
| |079|PHDS|d1 string d3 |5+d1|enchainement PVAH/PVAI, en dernier crée/ | |079|PHDS|d1 string d3 |5+d1|enchainement PVAH/PVAI, en dernier crée/ | ||
| Ligne 130: | Ligne 130: | ||
| |104|INSS| | |104|INSS| | ||
| |105|REMS| | |105|REMS| | ||
| - | |106|DEXH|d1 string|2+lg|ad_var_hash.string< | + | |106|DEXH|d1 string|2+d1|ad_var_hash.string< |
| - | |107|DEXI|d1 string|2+lg|ad_var_hash!string< | + | |107|DEXI|d1 string|2+d1|ad_var_hash!string< |
| |108|PREC|d1 | |108|PREC|d1 | ||
| |109|DESV| | |109|DESV| | ||
| - | |110|DESH|d1 string|2+lg|ad_var_hash.string[pile1, | + | |110|DESH|d1 string|2+d1|ad_var_hash.string[pile1, |
| - | |111|DESI|d1 string|2+lg|ad_var_hash!string[pile1, | + | |111|DESI|d1 string|2+d1|ad_var_hash!string[pile1, |
| |112|DEZV| | |112|DEZV| | ||
| - | |113|DEZH|d1 string|2+lg|ad_var_hash.string< | + | |113|DEZH|d1 string|2+d1|ad_var_hash.string< |
| - | |114|DEZI|d1 string|2+lg|ad_var_hash!string< | + | |114|DEZI|d1 string|2+d1|ad_var_hash!string< |
| |115|SDBG|d3 string|4+d3|liste des fichiers sources + num lignes (pour debugger)|'' | |115|SDBG|d3 string|4+d3|liste des fichiers sources + num lignes (pour debugger)|'' | ||
| - | |116|PHDN|d1 string|2+lg|enchainement PVAH/PVAI, en dernier cree/ | + | |116|PHDN|d1 string|2+d1|enchainement PVAH/PVAI, en dernier cree/ |
| - | |117|PIDN|d1 string|2+lg|enchainement PVAH/PVAI, en dernier cree/ | + | |117|PIDN|d1 string|2+d1|enchainement PVAH/PVAI, en dernier cree/ |
| |118|SADV| | |118|SADV| | ||
| |119|VLET| | |119|VLET| | ||
| - | |120|PHDV|d1 string|2+lg|idem VLET mais en fin de chaine de vars hash pour la var < | + | |120|PHDV|d1 string|2+d1|idem VLET mais en fin de chaine de vars hash pour la var < |
| - | |121|PIDV|d1 string|2+lg|idem VLET mais en fin de chaine de vars hash pour la var < | + | |121|PIDV|d1 string|2+d1|idem VLET mais en fin de chaine de vars hash pour la var < |
| |122|HCOU| | |122|HCOU| | ||
| - | |123|PVHD|d1 string|2+lg|enchainement PVAH/PVAI, en dernier supprime dans la hash < | + | |123|PVHD|d1 string|2+d1|enchainement PVAH/PVAI, en dernier supprime dans la hash < |
| - | |124|PVID|d1 string|2+lg|enchainement PVAH/PVAI, en dernier supprime dans la hash < | + | |124|PVID|d1 string|2+d1|enchainement PVAH/PVAI, en dernier supprime dans la hash < |
| - | |125|SSRC| |1|sortedsearch(var) search sorted string in field| | | + | |125|SSRC| |1|sortedsearch(var) search sorted string in field|'' |
| - | |126|SSCS| |1|search(var, | + | |126|SSCS| |1|search(var, |
| - | |127|CPHH| |1|idem CPHA mais avec flag positionne indiquant l' | + | |127|CPHH| |1|idem CPHA mais avec flag positionne indiquant l' |
| - | |128|CPHN|d1 string|2+lg|empile dans la call stack la var ad_var en nommant le parametre <nom> (idem CPAN) et avec flag positionne indiquant l' | + | |128|CPHN|d1 string|2+d1|empile dans la call stack la var ad_var en nommant le parametre <nom> (idem CPAN) et avec flag positionne indiquant l' |
| - | |250|PROG| |1|Indique que le binaire est un programme, premiere instruction du binaire sinon endp| | | + | |250|PROG| |1|Indique que le binaire est un programme, premiere instruction du binaire sinon endp|'' |
| |251|LIBR| |1|Indique que le binaire est une library, pas un programme exécutable directement. Première instruction du binaire.|'' | |251|LIBR| |1|Indique que le binaire est une library, pas un programme exécutable directement. Première instruction du binaire.|'' | ||
| |252|ENDL| |1|Fin de library, avec libération des éléments locaux à la library uniquement|'' | |252|ENDL| |1|Fin de library, avec libération des éléments locaux à la library uniquement|'' | ||
| - | |253|BACK| |1|Indique un binaire executable en mode demon, premiere instruction|'' | + | |253|BACK| |1|Indique un binaire executable en mode demon, premiere instruction|'' |
| |254|ENDS| |1|Fin du sous-programme en cours, avec libération des éléments locaux à la sub uniquement|'' | |254|ENDS| |1|Fin du sous-programme en cours, avec libération des éléments locaux à la sub uniquement|'' | ||
| |255|ENDP| |1|Fin du programme principale en cours, en effectuant toutes les libérations mémoires. Instruction appelée de manière forcée en cas d' | |255|ENDP| |1|Fin du programme principale en cours, en effectuant toutes les libérations mémoires. Instruction appelée de manière forcée en cas d' | ||