Les directives conditionnelles
Voir les directives conditionnels utilisés par les compilateurs tel Macro Assembler de Microsoft (MASM) ou Turbo Assembler de Borland (TASM) :
Directive | Syntaxe | Description | Mode |
---|---|---|---|
.186 | .186 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80186. | MASM |
.286 | .286 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80286 en mode réel sans privilège et les instructions du coprocesseur mathématique 80287. | MASM |
.286C | .286C | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80286 en mode réel sans privilège et les instructions du coprocesseur mathématique 80287. | MASM |
.286P | .286P | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80286 incluant le mode protégé et les instructions du coprocesseur mathématique 80287. | MASM |
.287 | .287 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 80287. | MASM |
.386 | .386 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80386 en mode réel sans privilège et les instructions du coprocesseur mathématique 80387. | MASM |
.386C | .386C | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80386 en mode réel sans privilège et les instructions du coprocesseur mathématique 80387. | MASM |
.386P | .386P | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80386 incluant le mode protégé et les instructions du coprocesseur mathématique 80387. | MASM |
.387 | .387 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 80387. | MASM |
.486 | .486 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80486 en mode réel sans privilège. | MASM |
.486C | .486C | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80486 en mode réel sans privilège. | MASM |
.486P | .486P | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80486 incluant le mode protégé. | MASM |
.487 | .487 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 80487. | MASM |
.8086 | .8086 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 8086 seulement. C'est le mode par défaut des modes d'instructions de Turbo Assembler. | MASM |
.8087 | .8087 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 8087 seulement. C'est le mode par défaut des modes d'instructions de Turbo Assembler. | MASM |
: | :nom | Cette directive permet d'appeler un étiquette du nom spécifié. | MASM et IDEAL |
= | nom=expression | Cette directive permet de définir ou redéfinir une équation numérique. | MASM et IDEAL |
ALIGN | ALIGN limite | Cette directive permet d'arrondir un compteur d'emplacement à la limite d'une puissance 2 d'adressage (2, 4, 8,...). | MASM et IDEAL |
.ALPHA | .ALPHA | Cette directive permet de fixer l'ordre de segment alphanumérique. La ligne de commande avec le paramètre «/a» effectue la même fonctionnalité. | MASM |
ARG | ARG argument[,argument]...[symbol] [RETURNS argument[,argument]] |
Cette directive permet de fixer les arguments de la pile d'une procédure. Chaque argument est fixé à un déplacement positif dans le registre BP en supposant que l'adresse de retour d'une procédure d'appel et de l'appeleur avec BP est empilé la pile correctement. | MASM et IDEAL |
ASSUME | ASSUME argument:nom[,segmentreg:nom]... ASSUME segmentreg:NOTHING ASSUME NOTHING |
Cette directive permet de fixer les arguments de la pile d'une procédure. Chaque argument est fixé à un déplacement positif dans le registre BP en supposant que l'adresse de retour d'une procédure d'appel et de l'appeleur avec BP est empilé la pile correctement. | MASM et IDEAL |
%BIN | %BIN taille | Cette directive permet de fixer la taille de la colonne spécifié d'un champ d'objet de code dans la liste de fichier. | MASM et IDEAL |
CALL | CALL instanceptrMETHOD{nomobjet:} nommethode{USES{segreg}:offreg} {appelparametreetendu}} |
Cette directive permet d'appeler une procédure avec la méthode de procédure spécifié. | MASM et IDEAL |
CATSTR | nom CATSTR chaine[,chaine] | Cette directive permet d'effectuer une concaténation de chaîne de caractères sous la forme d'une simple chaîne de caractères du nom spécifié. | MASM et IDEAL |
.CODE | .CODE | Cette directive permet d'indiquer un segment de code | MASM |
.CODE | .CODE nom | Cette directive permet d'indiquer le début d'un segment de code quand il est utilisé avec la directive .MODEL. | MASM et IDEAL |
.CODESEG | .CODESEG nom | Cette directive permet d'indiquer le début d'un segment de code quand il est utilisé avec la directive .MODEL. | MASM et IDEAL |
COMM | COMM definition[,definition] | Cette directive permet de définir des variables communes. Chaque définition permet de décrire un symbole selon le format suivant: [distance][langage]nomsymbole[[compteur]]:type[:compteur2] La distance est NEAR ou FAR et la taille par défaut est celle du modèle mémoire de données. Le langage peut être C, PASCAL, BASIC, FORTRAN, PROLOG ou NOLANGUAGE. Le nomsymbole permet d'indiquer le symbole communs. Le type peut-être BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, PWORD, QWORD ou TBYTE ou une structure de nom. |
MASM et IDEAL |
COMMENT | COMMENT delimiteur [texte] [texte] delimiteur [texte] |
Cette directive permet d'indiquer un commentaire ou une remarque utilisant plusieurs lignes. Le délimiteur est le premier caractère n'étant pas un espace suivant COMMENT. | MASM |
%CONDS | %CONDS | Cette directive permet d'indiquer toutes les instructions d'un bloc conditionnel contenu dans une liste. C'est le mode par défaut du Turbo Assembler. | MASM et IDEAL |
.CONST | .CONST | Cette directive permet d'indiquer des constantes. | MASM |
CONST | CONST | Cette directive permet d'indiquer le début d'un segment de données de constantes. | MASM et IDEAL |
.CREF | .CREF | Cette directive permet d'indiquer des références croisés d'informations. | MASM |
%CREF | %CREF | Cette directive permet d'indiquer des références croisés d'informations à accumulé dans tous les symboles d'un point suivant de fichier source .CREF. L'effet s'inverse avec n'importe quel directive %XCREF ou .XCREF des informations de collection. | MASM et IDEAL |
%CREFALL | %CREFALL | Cette directive permet d'indiquer la cause des sous-séquences des symboles dans un fichier source d'une liste de référence-croisé. C'est le mode par défaut du Turbo Assembler. | MASM et IDEAL |
%CREFREF | %CREFREF | Cette directive permet de désactiver la liste des symboles sans référence dans une référence croisé. | MASM et IDEAL |
%CREFUREF | %CREFUREF | Cette directive permet de lister seulement les symboles sans référence dans une référence croisé. | MASM et IDEAL |
%CTLS | %CTLS | Cette directive permet de provoqué un contrôle de liste (comme avec %LIST, %INCL,...) pour placé dans la liste de fichier. | MASM et IDEAL |
.DATA | .DATA | Cette directive permet d'indiquer des données. | MASM |
DATASEG | DATASEG | Cette directive permet d'indiquer le début de l'initialisation du segment de données dans le module. La première fois que vous utilisez la directive .MODEL indique le modèle de mémoire. Le segment de données peut appeler dans le groupe DGROUP, lequel contraint également le segment définit avec les directives .STACK, .CONST et .DATA. | IDEAL |
.DATA? | .DATA? | Cette directive permet d'indiquer le début de l'initialisation du segment de données dans le module. La première fois que vous utilisez la directive .MODEL indique le modèle de mémoire. Le segment de données peut appeler dans le groupe DGROUP, lequel contraint également le segment définit avec les directives .STACK, .CONST et .DATA. | IDEAL |
DB | [nom] DB expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme d'octets à cette emplacement. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
DD | [nom] DD expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme de double mot à cette emplacement. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
%DEPTH | %DEPTH largeur | Cette directive permet de fixer la taille de la profondeur d'un champ dans une liste de fichier avec une colonne de largeur spécifié. | MASM et IDEAL |
DF | [nom] DF [type PTR] expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme de 6 octets (un pointeur long de 48 bits) à cette emplacement. Le type peut être BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, NEAR, FAR ou un nom de structure. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
DISPLAY | DISPLAY "texte" | Cette directive permet de faire sortir le texte spécifié immédiatement à l'écran. | MASM et IDEAL |
DOSSEG | DOSSEG | Cette directive permet d'activer l'ordre de segment DOS au temps de liaison. | MASM et IDEAL |
DP | [nom] DP [type PTR] expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme de 6 octets (un pointeur long de 48 bits) à cette emplacement. Le type peut être BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, NEAR, FAR ou un nom de structure. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
DQ | [nom] DQ expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme de quadruple mot à cette emplacement. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
DT | [nom] DT expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme de 10 octets (80 bits) à cette emplacement. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
DW | [nom] DW expression[,expression]... | Cette directive permet d'indiquer une allocation et entreposage de données sous forme d'un mot à cette emplacement. L'opérateur DUP peut être utilisé dans expression pour indiquer des données répétitives. | MASM et IDEAL |
ELSE | IF condition instruction1 [ELSE instruction2] ENDIF |
Cette directive permet d'indiquer que si la condition est fausse les instructions instructions2 sont assemblés et seront inclus dans l'exécutable potentiel. | MASM et IDEAL |
ELSEIF | IF condition1 instruction1 [ELSEIF condition2 instruction2] ENDIF |
Cette directive permet d'indiquer que si la condition condition1 est fausse et que la condition condition2 est vrai, les instructions instructions2 sont assemblés et seront inclus dans l'exécutable potentiel. D'autres formes sont également supportées: ELSEIF1, ELSEIF2, ELSEIFB, ELSEIFDEF, ELSEIFDIF, ELSEIFDEFI, ELSEIFDEFE, ELSEIFDN, ELSEIFIDNI, ELSEIFNB et ELSEIFNDEF. | MASM et IDEAL |
EMUL | EMUL | Cette directive permet d'indiquer que toutes les sous-séquences des instructions du coprocesseur mathématique génère une instructions d'émulations, comme si elles sont réellement existantes. | MASM et IDEAL |
END | END [adressedebut] | Cette directive permet d'indiquer la marque de la fin du fichier source. L'adressedebut permet d'indiquer l'expression ou le symbole spécifié l'adresse où commence l'exécution du programme. Le Turbo Assembler ignore n'importe quel texte suivant cette directive. | MASM et IDEAL |
ENDIF | IF condition instruction1 ENDIF |
Cette directive permet d'indiquer la fin d'une condition SI ... ALORS d'une des directives conditions IFxxx. | MASM et IDEAL |
ENDM | ENDM | Cette directive permet d'indiquer la fin d'un bloc de répétition ou d'une définition de macro. | MASM et IDEAL |
ENDP | ENDP [nomproc] [nomproc] ENDP |
Cette directive permet d'indiquer la fin d'une procédure. Si le nom de procédure nomproc est fournit, il correspond au nom de la procédure avec la directive PROC au début de la procédure. | MASM et IDEAL |
ENDS | ENDS [nomsegment | nomstructure] [nomsegment | nomstructure] ENDS |
Cette directive permet d'indiquer la fin d'un segment, d'une structure ou d'une union. Si un nom optionnel est fournit, il doit correspondre une directive SEGMENT, STRUC ou UNION. | MASM et IDEAL |
ENUM | ENUM nom[var_enum[,var_enum..]] nom ENUM [var_enum[,var_enum..]] |
Cette directive permet d'effectuer la déclaration d'une énumération de type de données. | MASM et IDEAL |
EQU | nom EQU expression | Cette directive permet d'effectuer la déclaration d'une chaîne de caractères, d'un alias ou d'une équation numérique contenant le résultat de l'évaluation de l'expression. | MASM et IDEAL |
.ERR | .ERR chaine | Cette directive permet d'arrêter la compilation à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
ERR | ERR chaine | Cette directive permet d'arrêter la compilation à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERR1 | .ERR1 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur de premier passage à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERR2 | .ERR2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur de deuxième passage à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRB | .ERRB argument chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur avec un argument vide à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRDEF | .ERRDEF symbole chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si le symbole symbole est définit à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRDIF | .ERRDIF argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments sont différents à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRDIFI | .ERRDIFI argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments sont différents à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. La comparaison ne fait aucune distinction entre les majuscules et minuscules. | MASM |
.ERRE | .ERRE expression chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si l'expression expression est fausse à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRIDN | .ERRIDN argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments argument1 et argument2 sont identiques à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRIDNI | .ERRIDNI argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments argument1 et argument2 sont identiques à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. La comparaison ne fait aucune distinction entre les majuscules et minuscules. | MASM |
.ERRIF | .ERRIF expression chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si l'expression expression est vrai à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIF1 | .ERRIF1 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si s'est le premier passage de compilation à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIF2 | .ERRIF2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si s'est le deuxième passage de compilation à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFB | .ERRIFB argument chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur avec un argument vide à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFDEF | .ERRIFDEF symbole chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si le symbole symbole est définit à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFDIF | .ERRIFDIF argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments sont différents à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFDIFI | .ERRIFDIFI argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments sont différents à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. La comparaison ne fait aucune distinction entre les majuscules et minuscules. | MASM et IDEAL |
.ERRIFE | .ERRIFE expression chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si l'expression expression est fausse à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFIDN | .ERRIFIDN argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments argument1 et argument2 sont identiques à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFIDNI | .ERRIFIDNI argument1,argument2 chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si les arguments argument1 et argument2 sont identiques à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. La comparaison ne fait aucune distinction entre les majuscules et minuscules. | MASM et IDEAL |
.ERRIFNB | .ERRIFNB argument chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si l'argument n'est pas vide à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRIFNDEF | .ERRIFNDEF symbole chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si le symbole symbole n'est pas définit à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM et IDEAL |
.ERRNB | .ERRNB argument chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si l'argument n'est pas vide à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRNDEF | .ERRNDEF symbole chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si le symbole symbole n'est pas définit à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
.ERRNZ | .ERRNZ expression chaine | Cette directive permet d'arrêter la compilation avec un message d'erreur si l'expression expression ne vaut pas 0 à la ligne où est situé cette directive et d'afficher le message d'erreur optionnel spécifié par chaine. | MASM |
EVEN | EVEN | Cette directive permet d'arrondir au compteur d'emplacement de la prochaine même adresse. | MASM et IDEAL |
EVENDATA | EVENDATA | Cette directive permet d'arrondir au compteur d'emplacement de la prochaine même adresse dans le segment de données. | MASM et IDEAL |
.EXIT | .EXIT [expressionvaleurretour] | Cette directive permet de terminer la compilation immédiatement en envoyer un code de retour optionnel au système d'exploitation. Alias de la directive EXITCODE. | MASM |
EXITCODE | EXITCODE [expressionvaleurretour] | Cette directive permet de terminer la compilation immédiatement en envoyer un code de retour optionnel au système d'exploitation. Alias de la directive .EXIT. | MASM et IDEAL |
EXITM | EXITM | Cette directive permet de terminer la définition d'une macro ou d'un extension de bloc de répétition et retourne le contrôle à la prochaine instruction suivante la macro ou l'appel bloc de répétition. | MASM et IDEAL |
EXTRN | EXTRN defintion[,definition]... | Cette directive permet d'indiquer un symbole étant définit dans un autre module. La description de la définition definition d'un symbole doit avoir le format suivant: [langage] nom[compteur1]:type[:compteur2] Le langage langage peut avoir la convention de nommage suivantes: C, PASCAL, BASIC, FORTRAN, ASSEMBLER ou PROLOG. Le type type peut être les suivants: NEAR, FAR, PROC, BYTE, WORD, DWORD, DATAPTR, CODEPTR, FWORD, PWORD, PWORD, QWORD, TBYTE, ABS ou une structure de nom de fichiers. |
MASM et IDEAL |
.FARDATA | .FARDATA [nomsegment] | Cette directive permet de définir le début d'un long segment de données a initialiser. | MASM |
FARDATA | FARDATA [nomsegment] | Cette directive permet de définir le début d'un long segment de données a initialiser. | MASM et IDEAL |
.FARDATA? | .FARDATA? [nomsegment] | Cette directive permet de définir le début d'un long segment de données non initialisé. | MASM |
FASTIMUL | FASTIMUL reg_dest,source_r/m,valeur | Cette directive permet de générer du code multipliant le registre sources ou l'adresse mémoire par une valeur, et met le résultat dans le registre de destination. | MASM et IDEAL |
FLIPFLAG | flagreg FLIPFLAG flagreg | Cette directive est une forme d'optimisation du complément des bits XOR avec une instruction courte. | MASM et IDEAL |
GETFIELD | GETFIELD nomchamp reg_destination, source_rm | Cette directive est un générateur de code demander la valeur d'un champ trouvé dans la même source de registre ou mémoire, et fixe la destination avec cette valeur. | MASM et IDEAL |
GLOBAL | GLOBAL defintion[,definition]... | Cette directive permet d'indiquer des définitions de portée global, soit une combinaison de «EXTRN» et «PUBLIC». La description de la définition definition d'un symbole doit avoir le format suivant: [langage] nom[compteur1]:type[:compteur2] Le langage langage peut avoir la convention de nommage suivantes: C, PASCAL, BASIC, FORTRAN, ASSEMBLER ou PROLOG. Le type type peut être les suivants: NEAR, FAR, PROC, BYTE, WORD, DWORD, DATAPTR, CODEPTR, FWORD, PWORD, PWORD, QWORD, TBYTE, ABS ou une structure de nom de fichiers. |
MASM et IDEAL |
GOTO | GOTO symbole_balise | Cette directive permet de compléter n'importe quel bloc conditionnel pour indiquer un branchement. | MASM et IDEAL |
GROUP | GROUP nomgroupe nomsegment[,nomsegment]... nomgroupe GROUP nomsegment[,nomsegment]... |
Cette directive permet d'associer un nom de groupe avec un plusieurs segment de code. | MASM et IDEAL |
IDEAL | IDEAL | Cette directive permet d'entrer l'assembleur en mode «IDEAL». | MASM et IDEAL |
IF | IF expression instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si l'expression est vrai sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IF1 | IF1 instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai s'il s'agit du premier passage de compilation sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IF2 | IF2 instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai s'il s'agit du deuxième passage de compilation sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFB | IFB argument instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si l'argument est vide sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFDEF | IFDEF symbole instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si le symbole est définit sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFDIF | IFDIF argument1,argument2 instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si les arguments argument1 et argument2 sont différents sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFDIFI | IFDIFI argument1,argument2 instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si les arguments argument1 et argument2 sont différents sinon il assemblera instructionsifaux si cette partie est définit. La comparaison ne fait aucune distinction entre les majuscules et minuscules. | MASM et IDEAL |
IFE | IFE expression instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si l'expression est fausse sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFIDN | IFIDN argument1,argument2 instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si les arguments argument1 et argument2 sont identiques sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFIDNI | IFIDNI argument1,argument2 instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si les arguments argument1 et argument2 sont identiques sinon il assemblera instructionsifaux si cette partie est définit. La comparaison ne fait aucune distinction entre les majuscules et minuscules. | MASM et IDEAL |
IFNB | IFNB argument instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si l'argument n'est pas vide sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
IFNDEF | IFNDEF symbole instructionsivrai [ELSE instructionsifaux] ENDIF |
Cette directive permet de définir un bloc conditionnel assemblant le code instructionsivrai si le symbole n'est pas définit sinon il assemblera instructionsifaux si cette partie est définit. | MASM et IDEAL |
%INCL | %INCL | Cette directive permet d'activer l'inclusion des fichiers. C'est le mode par défaut du mode de liste de la directive «INCLUDE» | MASM et IDEAL |
INCLUDE | INCLUDE nomfichier | Cette directive permet d'indiquer un fichier de code source à inclure à la position courante du module à assembler. S'il n'a pas d'extension, par défaut il utilise «.ASM». | MASM et IDEAL |
INCLUDELIB | INCLUDELIB nomfichier | Cette directive permet d'indiquer un fichier de bibliothèque à inclure dans le module à assembler. S'il n'a pas d'extension, par défaut il utilise «.LIB». | MASM et IDEAL |
INSTR | position INSTR [debut,]chaine1,chaine2 | Cette directive permet de demander la position de la seconde chaîne dans la première et tenant compte que la recherche comme à la position spécifié par debut s'il est définit. | MASM et IDEAL |
IRP | IRP parametre,arg1[,arg2]... instructions ENDM |
Cette directive permet de définir une macro avec un bloc d'instruction répété par une chaîne de caractères de substitution. | MASM et IDEAL |
IRPC | IRPC parametre,chaine instructions ENDM |
Cette directive permet de définir une macro avec un bloc d'instruction répété par un caractère de substitution. | MASM et IDEAL |
JMP | JMP ptr_instance METHOD {nom_objet:} nom_methode {USES{segreg:}offsreg} |
Cette directive permet d'effectuer un saut à une procédure mais en empilant les paramètres dans la pile comme une instruction «CALL». Cette macro est destiné au développement de routine récursive. | MASM et IDEAL |
JUMPS | JUMPS | Cette directive permet d'ajuster les instructions de saut (JMP, JB, JE, JG,... ) automatiquement pour un saut court, proche ou long en fonction du contexte du code source. | MASM et IDEAL |
LABEL |
nom LABEL type LABEL nom type |
Cette directive permet de définir un symbole de type spécifié. Le paramètre nom permet d'indiquer le nom du symbole. Le paramètre type permet d'indiquer l'un des types suivantes : NEAR, FAR, PROC, BYTE, WORD, DATAPTR, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE ou un nom de structure. | MASM et IDEAL |
.LALL | .LALL | Cette directive permet d'activer une liste dans une macro étendue. | MASM |
LARGESTACK | LARGESTACK | Cette directive permet d'indiquer que la taille de la pile est en 32 bits. | MASM et IDEAL |
.LFCOND | .LFCOND | Cette directive permet d'afficher toutes les instructions dans un bloc conditionnel d'une liste. | MASM |
%LINUM | %LINUM taille | Cette directive permet de fixer la largeur d'un champ de numérotation de ligne dans une liste d'un fichier avec des colonnes de taille indiquer par le paramètre taille. La valeur par défaut est de 4 colonnes. | MASM et IDEAL |
%LIST | %LIST | Cette directive permet d'afficher les lignes de sources d'une liste. C'est la valeur par défaut du mode de liste. | MASM et IDEAL |
.LIST | .LIST | Cette directive permet d'afficher les lignes de sources d'une liste. C'est la valeur par défaut du mode de liste. | MASM |
LOCAL |
LOCAL symbole[,symbole]... LOCAL element[,element]=[=symbole] |
Cette directive permet de définir les variables locales pour des macros ou procédures. Quand une macro à une définition, LOCAL définit temporairement les noms de symboles étant remplacer par un nouveau nom de symbole unique à chaque fois que la macro est étendue. LOCAL peut apparaître avant n'importe quel autres instructions dans la définition d'une macro. Quand c'est une procédure, LOCAL définit le nom d'accès dans l'emplacement de la pile, lequel en un positionnement relatif négatif calculer à l'aide du registre BP. Si la fin de la liste de paramètres contient un signe d'égalité (=) et un symbole, le symbole doit être égale à la taille total d'un bloc de symboles local en octets. Chaque element a la syntaxe suivante : «nomsymbole [[compteur1]] [:taille_deboguage] [:type] [:compteur2]». Le paramètre type permet d'indiquer le type de données d'un paramètre, lequel peut-être BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE, NEAR, FAR, PROC ou un nom de structure. Si le type n'est pas définit, la taille WORD est utilisé par défaut. Le paramètre compteur2 permet d'indiquer combien d'items de type de symboles sont définit. La valeur par défaut pour compteur2 est 1. Le paramètre compteur1 permet d'indiquer le nombre d'élément d'un tableau. L'espace total alloué par le symbole est est le nombre de fois compteur2 que la longueur spécifié est de type champ fois compteur1. Si le paramètre compteur1 n'est pas spécifié, sa valeur par défaut est 1. Le paramètre optionnel taille_deboguage à la syntaxe suivante : «[type] PTR». | MASM et IDEAL |
LOCALS | LOCALS prefixe | Cette directive permet d'activer un symbole local, les noms noms doivent débuter par deux arobas (@@) ou deux caractères de préfixe spécifié par le paramètre prefixe si spécifié. Les symboles locales sont automatiquement activé en mode Ideal. | MASM et IDEAL |
MACRO |
MACRO nom parametre[,parametre]... nom MACRO parametre[,parametre]... |
Cette directive permet de définir une macro pouvant être étendue après que le paramètre nom est rencontré. Le paramètre parametre est placé dans le corps de la macro afin d'indiquer une substitution d'un des arguments actuels de la macro appelé. | MASM et IDEAL |
%MACS | %MACS | Cette directive permet d'activer une liste d'une macro étendue. | MASM et IDEAL |
MASKFLAG | MASKFLAG destination,source | Cette directive permet d'optimiser la forme d'un instruction AND («ET BINAIRE») en affectant les bits avec l'instruction la plus courte possible. Utilisé seulement si le résultat contenu dans les registres de drapeaux n'est pas important. | MASM et IDEAL |
MASM | MASM | Cette directive permet d'entrer en mode d'assemblage MASM. C'est le mode d'assemblage par défaut du Turbo Assembler. | MASM et IDEAL |
MASM51 | MASM51 | Cette directive permet d'activer le mode étendue de l'assemblage du MASM version 5.1. | MASM et IDEAL |
MODEL | MODEL [modifieurmodele] modelememoire [nommodule][,[modifieurlangage] langage][,modifieurmodele] |
Cette directive permet de fixer le modèle de mémoire avec une segmentation simplifié. Le paramètre modifieurmodele permet d'indiquer le modèle de la pile : NEARSTACK ou FARSTACK. Le paramètre modelememoire permet d'indiquer un modèle de mémoire : TINY, SMALL, MEDIUM, COMPACT, LARGE, HUGE ou TCHUGE. Le paramètre nommodule est utilisé dans les modèles larges afin de déclarer le nom des segments de code. Le paramètre modifieurlangage permet d'indiquer la génération spécifique d'une entrée de procédure MSWindows et de code de sortie ou l'un des modificateurs de langage suivant : WINDOWS, ODDNEAR, ODDFAR ou NORMAL. Le paramètre langage permet d'indiquer comment le langage de programmation fait ses appels d'accès dans un module : C, PASCAL, BASIC, FORTRAN, PROLOG ou NOLANGUAGE. Le Turbo Assembler génère automatiquement l'entrée de procédure approprié et le code de sortie quand vous utilisez les directives PROC et ENDP. Les conventions de nommage qu'utilise le Turbo Assembler sont indiqués par le paramètre langage pour les symboles publiques ou externes et l'ordre des arguments de procédure empilé dans la pile lors de l'appel d'un module. Aussi, la forme approprié d'instruction RET est généré pour enlever les arguments de la pile avant de retourner au code l'appelant si nécessaire. | MASM et IDEAL |
.MODEL | .MODEL [modifieurmodele] modelememoire [nommodule][,[modifieurlangage] langage][,modifieurmodele] |
Cette directive permet de fixer le modèle de mémoire avec une segmentation simplifié. Le paramètre modifieurmodele permet d'indiquer le modèle de la pile : NEARSTACK ou FARSTACK. Le paramètre modelememoire permet d'indiquer un modèle de mémoire : TINY, SMALL, MEDIUM, COMPACT, LARGE, HUGE ou TCHUGE. Le paramètre nommodule est utilisé dans les modèles larges afin de déclarer le nom des segments de code. Le paramètre modifieurlangage permet d'indiquer la génération spécifique d'une entrée de procédure MSWindows et de code de sortie ou l'un des modificateurs de langage suivant : WINDOWS, ODDNEAR, ODDFAR ou NORMAL. Le paramètre langage permet d'indiquer comment le langage de programmation fait ses appels d'accès dans un module : C, PASCAL, BASIC, FORTRAN, PROLOG ou NOLANGUAGE. Le Turbo Assembler génère automatiquement l'entrée de procédure approprié et le code de sortie quand vous utilisez les directives PROC et ENDP. Les conventions de nommage qu'utilise le Turbo Assembler sont indiqués par le paramètre langage pour les symboles publiques ou externes et l'ordre des arguments de procédure empilé dans la pile lors de l'appel d'un module. Aussi, la forme approprié d'instruction RET est généré pour enlever les arguments de la pile avant de retourner au code l'appelant si nécessaire. | MASM |
.MODEL TPASCAL | .MODEL TPASCAL | Ce paramètre de directive permet la configurant du modèle de mémoire simplifié pour écrire des procédures appelable du TURBO PASCAL. | IDEAL |
MULTERRS | MULTERRS | Cette directive permet d'allouer de multiples erreurs a être rapporté dans une simple ligne de source. | MASM et IDEAL |
NAME | NAME nommodule | Cette directive permet de fixer le nom d'un module de fichier d'objet. Cette directive n'a aucun effet en mode MASM; il fonctionne seulement en mode Ideal. | MASM et IDEAL |
%NEWPAGE | %NEWPAGE | Cette directive permet d'indiquer une nouvelle page dans une liste de fichier. | MASM et IDEAL |
%NOCONDS | %NOCONDS | Cette directive permet de désactiver le positionnement des instructions dans un bloc conditionnel d'une liste de fichiers. | MASM et IDEAL |
%NOCREF | %NOCREF [symbole,...] | Cette directive permet de désactiver l'accumulation d'information de référence croisé d'une liste (CREF). Si vous fournissez un ou plusieurs symboles de noms, la référence croisé est seulement désactivé pour ces symboles. | MASM et IDEAL |
%NOCTLS | %NOCTLS | Cette directive permet de désactiver le positionnement d'une directive de contrôle de liste dans une liste de fichier. C'est le mode par défaut du contrôle de liste du Turbo Assembler. | MASM et IDEAL |
NOEMUL | NOEMUL | Cette directive permet de provoquer la génération des instructions réels de tous les sous-séquences d'instructions du coprocesseur mathématique plutôt que d'émuler les instructions. Quand votre programme est exécuté, vous devez disposer d'un coprocesseur mathématique 80x87 d'installé ou ces instructions ne s'exécuteront pas proprement. C'est la valeur par défaut mode d'assemblage des nombres réels (virgules flottante) du Turbo Assembler. | MASM et IDEAL |
%NOINCL | %NOINCL | Cette directive permet de désactiver la liste des lignes sources des fichiers INCLUDE. | MASM et IDEAL |
NOJUMPS | NOJUMPS | Cette directive permet de désactiver les arrangements de sauts conditionnels trop long activés par la directive JUMPS. C'est le mode par défaut du Turbo Assembler. | MASM et IDEAL |
%NOLIST | %NOLIST | Cette directive permet de désactiver la sortie de la liste de fichier. | MASM et IDEAL |
NOLOCALS | NOLOCALS | Cette directive permet de désactiver les symboles locales activé par la directive LOCALS. C'est la valeur par défaut du Turbo Assembler en mode MASM. | MASM et IDEAL |
%NOMACS | %NOMACS | Cette directive permet de afficher seulement la liste des macros étendu que le code génère. C'est le mode de macro de liste par défaut du Turbo Assembler. | MASM et IDEAL |
NOMASM51 | NOMASM51 | Cette directive permet de désactiver le mode étendue de l'assemblage du MASM version 5.1 de la directive MASM51. C'est le mode par défaut du Turbo Assembler. | MASM et IDEAL |
NOMULTERRS | NOMULTERRS | Cette directive permet d'allouer seulement les simples erreurs a être rapporté dans une ligne de source. C'est le mode par défaut du reportage d'erreur du Turbo Assembler. | MASM et IDEAL |
NOSMART | NOSMART | Cette directive permet de désactiver l'optimisation du code que génère les différents code du MASM. | MASM et IDEAL |
%NOSYMS | %NOSYMS | Cette directive permet de désactiver le positionnement d'une table symbole dans une liste de fichier. | MASM et IDEAL |
%NOTRUNC | %NOTRUNC | Cette directive permet d'avertir lorsque des tronquages de champs dont le contenu est trop long pour la longueur du champ correspondant d'une liste de fichiers se produit. | MASM et IDEAL |
NOWARN | NOWARN [classeattention] | Cette directive permet de désactiver les messages d'avertissements avec les identificateurs d'avertissement classeattention ou toutes les messages d'avertissement si le paramètre classeattention n'est pas spécifié. | MASM et IDEAL |
ORG | ORG expression | Cette directive permet de fixer l'emplacement de départ ou le segment courant commence son adressage de code. | MASM et IDEAL |
%OUT | %OUT texte | Cette directive permet d'afficher le texte spécifier à l'écran. | MASM |
P186 | P186 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80186. | MASM et IDEAL |
P286 | P286 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80286 en mode protégé et les instructions du coprocesseur mathématique 80287. | MASM et IDEAL |
P286N | P286N | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80286 en mode réel sans privilège et les instructions du coprocesseur mathématique 80287. | MASM et IDEAL |
P286P | P286P | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80286 en mode protégé et les instructions du coprocesseur mathématique 80287. | MASM et IDEAL |
P287 | P287 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 80287. | MASM et IDEAL |
P386 | P386 | Cette directive permet d'activer l'assemblage des instructions de tous le microprocesseur 80386 (incluant le mode protégé) et les instructions du coprocesseur mathématique 80387. | MASM et IDEAL |
P386N | P386N | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80386 en mode réel sans privilège et les instructions du coprocesseur mathématique 80387. | MASM et IDEAL |
P386P | P386P | Cette directive permet d'activer l'assemblage des instructions de tous le microprocesseur 80386 (incluant le mode protégé) et les instructions du coprocesseur mathématique 80387. | MASM et IDEAL |
P387 | P387 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 80387. | MASM et IDEAL |
P486 | P486 | Cette directive permet d'activer l'assemblage des instructions de tous le microprocesseur 80486 (incluant le mode protégé). | MASM et IDEAL |
P486N | P486N | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 80486 en mode réel sans privilège. | MASM et IDEAL |
P487 | P487 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 80487. | MASM et IDEAL |
P8086 | P8086 | Cette directive permet d'activer l'assemblage des instructions du microprocesseur 8086 seulement. Cette directive est activé par défaut sur le Turbo Assembler. | MASM et IDEAL |
P8087 | P8087 | Cette directive permet d'activer l'assemblage des instructions du coprocesseur mathématique 8087 seulement. Cette directive est le mode de coprocesseur par défaut sur le Turbo Assembler. | MASM et IDEAL |
%PAGESIZE | PAGE [lignes] [,cols] %PAGESIZE [lignes] [,cols] | Cette directive permet de fixer la largeur et la hauteur de page de la liste et du début des nouvelles pages. Le paramètre lignes permet d'indiquer le nombre de lignes apparaissant dans chacune des pages de liste (10 à 255). Le paramètre cols permet d'indiquer le nombre de colonnes qu'une page doit avoir (59 à 255). Quand le paramètre lignes ou cols est omis, la taille des ajustements courant reste inchangé. Si le paramètre PAGE est suivi d'un symbole plus (+), une nouvelle page commence, le numéro de la section est incrémenté, et le numéro de la page redémarre à 1. Lorsque le PAGE n'a pas de paramètre, la liste est forcé de résumé une nouvelle page, sans changé le numéro de section. | MASM et IDEAL |
%PCNT | %PCNT largeur | Cette directive permet de fixer la largeur du champ segment:offset d'une colonne largeur d'une liste d'un fichier. La valeur par défaut est 4 pour un segment de 16 bits et 8 pour un segment de 32 bits. | MASM et IDEAL |
PNO87 | PNO87 | Cette directive permet de prévenir de l'assemblage d'instruction du coprocesseur mathématique (réel ou en émulation). | MASM et IDEAL |
%POPLCTL | %POPLCTL | Cette directive permet de réinitialiser le contrôle de liste dans le chemin précédent la directive %PUSHLCTL. | MASM et IDEAL |
POPSTATE | POPSTATE | Cette directive permet de retourner le dernier état de la pile interne du Turbo Assembler. | MASM et IDEAL |
PROC | PROC [modificateurdelangage] [langage] nom [distance] [USES items,] [arguments [,arguments]...] [RETURNS argument [,argument]] ... ENDP nom |
Cette directive permet de définir une procédure (sous-programme). | MASM et IDEAL |
PROCDESC |
PROCDESC nom [langage] [modificateurdelangage] [distance] [arguments] nom PROCDESC [langage] [modificateurdelangage] [distance] [arguments] |
Cette directive permet de déclarer une prototype de procédure, lequel Turbo Assembler vérifie les types et le nombre de paramètres de la procédure appelante, les déclarations, le langage spécifié et la distance. Peut également utilisé PUBLIC et EXTRN avec les noms de procédures. | MASM et IDEAL |
PROCTYPE |
PROCTYPE nom [descriptionprocedure] nom PROCTYPE [descriptionprocedure] |
Cette directive permet d'effectuer la déclaration d'un type de procédure. Le paramètre descriptionprocedure à la définition suivante «[modifierlangage] [langage] [distance] [argument[,argument]...]». Le paramètre argument a la définition suivante «[nomarg][[compteurexpression1]]:typecomplexe[:compteurexpression2]». La description d'une procédure ne crée pas le prototype de celui-ci. Peut-être utilisé à la place du spécifieur de langage de l'appelant, le type d'argument a vérifier durant la compilation. | MASM et IDEAL |
PUBLIC | PUBLIC [langage] symbole[,langage] symbole].... | Cette directive permet de rendre publique un/des symbole(s) pour des liaisons externe. | MASM et IDEAL |
PUBLICDLL | PUBLICDLL [langage]symbole[,langage]symbole]... | Cette directive permet d'effectuer la déclaration de symbole accessible dans un point d'entrée de lien dynamique des autres modules. Le paramètre symbole (d'une directive PROC, d'une étiquette de programme, d'une données de nom de variable ou d'une constante numérique définit avec la directive EQU) rendre les autres programmes accessibles en dehors d'OS/2. Si le paramètre langage (C, PASCAL, BASIC, FORTRAN, PROLOG ou NOLANGUAGE) est spécifié, le paramètre symbole est de porté publique après que la convention de nommage est appliqué au langage spécifié. | MASM et IDEAL |
PURGE | PURGE nommacro[,nommacro] | Cette directive permet de supprimer la définition de macro spécifié. | MASM et IDEAL |
%PUSHLCTL | %PUSHLCTL | Cette directive permet de sauvegarder l'état courant de la liste contrôle dans une pile à 16 niveaux. | MASM et IDEAL |
PUSHSTATE | PUSHSTATE | Cette directive permet de sauvegarder l'état d'opération dans une pile interne à 16 niveaux. | MASM et IDEAL |
QUIRKS | QUIRKS | Cette directive permet d'effectuer l'assemblage de fichier source faisant usage de l'un des vrai bogues du MASM. | MASM et IDEAL |
.RADIX | .RADIX basenumerique | Cette directive permet de fixer la base numérique d'une constante entière d'une expression à 2 (binaire), 8 (octal), 10 (décimal) ou 16 (hexadécimal). | MASM |
RADIX | RADIX basenumerique | Cette directive permet de fixer la base numérique d'une constante entière d'une expression à 2 (binaire), 8 (octal), 10 (décimal) ou 16 (hexadécimal). | MASM et IDEAL |
RECORD |
nom RECORD champ[,champ]... RECORD nom champ[,champ]... |
Cette directive permet de définir une structure de données du nom du paramètre nom avec des champs de bit. Chaque champ contient une description d'un groupe de bits dans enregistrement et on le format suivant : «nomchamp:largeur[=expression]». Le paramètre nomchamp permet d'indiquer le nom du champ dans un enregistrement. Le paramètre largeur (valeur de 1 à 16) permet d'indiquer le nombre de bits d'un champ. Si le nombre total de bits dans tous les champs est 8 ou moins, l'enregistrement n'occupera qu'un octet; si le nombre de bits est entre 9 et 16 bits, il occupera 2 octets; autrement il occupera 4 octets. Le paramètre expression permet de fournir une valeur par défaut pour le champ. | MASM et IDEAL |
REPT | REPT expression instructions ENDM |
Cette directive permet d'effectuer une répétition d'un bloc d'instructions le nombre de fois spécifié par le paramètre expression. | MASM et IDEAL |
RETCODE | RETCODE | Cette directive permet d'effectuer la génération d'un retour court (2 octets de déplacement) ou d'un retour long (4 octets de déplacement) dépendamment de la taille du modèle de mémoire déclaré dans la directive .MODEL. Si le modèle de mémoire est TINY, SMALL ou COMPACT, le résultat est un retour court (NEAR), si le modèle est MEDIUM, LARGE ou HUGE, le résultat est long (FAR). | MASM et IDEAL |
RETF | RETF | Cette directive permet d'effectuer la génération d'un retour long (4 octets de déplacement) (FAR). | MASM et IDEAL |
RETN | RETN | Cette directive permet d'effectuer la génération d'un retour court (2 octets de déplacement) (NEAR). | MASM et IDEAL |
.SALL | .SALL | Cette directive permet de supprimer la liste de tous les instructions dans une macro étendue. | MASM |
SEGMENT |
SEGMENT nom alignement [combine] [utilise] ['classe'] nom SEGMENT alignement [combine] [utilise] ['classe'] |
Cette directive permet de définir un segment de nom du paramètre nom avec plein d'attribut secondaire. Si vous avez déjà un segment avec le même nom, ce segment est traité en continuité avec le précédent. Le paramètre alignement permet de spécifié le type de limite de mémoire où le segment doit commencé : BYTE, WORD, DWORD, PARA (par défaut) ou PAGE. Le paramètre combine permet de spécifié comment les segments de différents modules, mais avec les mêmes noms, sont combiné à chaque liaison : AT expression (emplacement de segment dans un paragraphe absolue d'une adresse d'expression), COMMON (emplacement de ce segment et des autres segments avec le même nom à la même adresse), MEMORY (concaténation de tous les segments avec le même nom de forme de continuité de segment simple) PRIVATE (ne combine pas ce segment avec n'importe quel autres segments; c'est la valeur par défaut si pas spécifié), PUBLIC (même que MEMORY), STACK (concaténation de tous les segments avec le même nom qu'un continuité de segment simple, alors initialisé avec le registre SS au début du segment et le registre SP pour la longueur du segment) ou VIRTUAL (définie un genre spécial de segment pouvant être traité dans une région commune et attaché à un autre segment à chaque liaison). Le paramètre utilise permet de spécifié le taille du mode par défaut pour un segment, si l'activation du code généré est pour un microprocesseur 80386, et peut être USE16 ou USE32. Le paramètre classe permet d'indiquer l'ordre de contrôle d'un segment de liaison, segments avec la même classe chargé dans le même ensemble de mémoire, quel que soit l'ordre dans lequel apparaît le fichier source. | MASM et IDEAL |
.SEQ | .SEQ | Cette directive permet de fixer l'ordre de séquence d'un segment. C'est le mode d'ordre par défaut pour Turbo Assembler. Cette directive produit le même résultat que le paramètre en ligne de commande «/s». | MASM |
SETFIELD | SETFIELD nomchamp destinationrm sourcereg | Cette directive permet d'effectuer la génération d'un ensemble de valeur dans un champ d'enregistrement. L'ensemble de champ dans l'adresse de registre ou de mémoire à le même contenu qu'une source de registre. | MASM et IDEAL |
SETFLAG | SETFLAG destination,source | Cette directive permet d'optimiser la forme d'une instruction OR («OU BINAIRE») en affectant les bits avec l'instruction la plus courte possible. Utilisé seulement si le résultat contenu dans les registres de drapeaux n'est pas important. | MASM et IDEAL |
.SFCOND | .SFCOND | Cette directive permet d'envoyer un avertissement lorsque des instructions avec des conditions de bloc de valeur fausse apparaisse dans la liste du fichier. | MASM |
SIZESTR | nom SIZESTR nombrecaracteres | Cette directive permet de fixer le nombre de caractères indiquer par le paramètre nombrecaracteres que doit avoir une chaîne de caractères du nom indiquer par le paramètre nom. | MASM et IDEAL |
SMALLSTACK | SMALLSTACK | Cette directive permet d'indiquer que la taille de la pile est en 16 bits. | MASM et IDEAL |
NOSMART | NOSMART | Cette directive permet d'activer l'optimisation du code que génère les différents code du MASM. | MASM et IDEAL |
.STACK | .STACK [taille] | Cette directive permet de définir le début du segment de pile et d'allouer le nombre d'octets indiquer par le paramètre taille. Les 1024 octets sont alloué si le paramètre taille n'est pas spécifié. | MASM |
STACK | STACK [taille] | Cette directive permet de définir le début du segment de pile et d'allouer le nombre d'octets indiquer par le paramètre taille. Les 1024 octets sont alloué si le paramètre taille n'est pas spécifié. | MASM et IDEAL |
.STARTUP | .STARTUP | Cette directive permet de provoquer l'initialisation du code et marque le début du programme. Équivalent de la directive «STARTUPCODE». | MASM |
STARTUPCODE | STARTUPCODE | Cette directive permet de provoquer l'initialisation du code et marque le début du programme. Équivalent de la directive «.STARTUP». | MASM et IDEAL |
STRUC |
[nom] STRUC [modifieurs] [nomparent] [METHOD listemethode] structuredonnees ENDS nom STRUC [nom] [modifieurs] [nomparent] [METHOD listemethode] structuredonnees ENDS nom |
Cette directive permet de définir une structure de données. Le paramètre nomparent permet d'indiquer le nom du bloc parent d'un objet de structure de données. Le paramètre listemethode est comme la directive TABLE. Le paramètre structuredonnees correspond à n'importe quel données contenu dans l'objet. Le modifieurs peut être GLOBAL, NEAR ou FAR. | MASM et IDEAL |
SUBSTR | nom SUBSTR chaine,position[,taille] | Cette directive permet de définir une nouvelle chaîne de caractères constitué des caractères du paramètre chaine et débutant à la position du paramètre position et avec la longueur du paramètre taille. Tous les caractères du paramètre chaine, débutant à la position spécifié par le paramètre position, sont associés au paramètre nom si le paramètre taille n'est pas spécifié. | MASM51 et IDEAL |
SUBTTL | SUBTTL texte | Cette directive permet de fixer les sous-titres d'une liste de fichier indiquer par le paramètre texte. | MASM |
%SUBTTL | %SUBTTL texte | Cette directive permet de fixer les sous-titres d'une liste de fichier indiquer par le paramètre texte. | MASM et IDEAL |
%SYMS | %SYMS | Cette directive permet d'activer le table de symbole situé dans la liste de fichier. C'est le symbole par défaut du mode de liste du Turbo Assembler. | MASM et IDEAL |
TABLE | TABLE nom [table_membre[,table_membre...]] | Cette directive permet de construire une table de structure utilisable pour contenir les pointeurs de méthodes pour des objets. | MASM et IDEAL |
%TABSIZE | %TABSIZE largeur | Cette directive permet de fixer le nombre de colonnes entres les tabulations dans liste de fichier de largeur indiqué par le paramètre largeur. La valeur de la colonne par défaut est 8. | MASM et IDEAL |
TBLINIT | TBLINIT | Cette directive permet d'initialiser un pointeur d'objet dans une table de méthode virtuel. | MASM et IDEAL |
TBLPTR | TBLPTR | Cette directive permet de placer un pointeur de table virtuel dans l'objet de données. La définition d'un membre de structure d'un nom est indiqué par «@Mptr_objet». Cette directive peut seulement être utilisé à l'intérieur de la définition d'objet. | MASM et IDEAL |
TESTFLAG | TESTFLAG destination,source | Cette directive permet d'optimiser la forme d'une instruction TEST («ET BINAIRE» sans affectation des opérandes) en affectant les drapeaux avec l'instruction la plus courte possible. | MASM et IDEAL |
%TEXT | %TEXT largeur | Cette directive permet de fixer le champ source d'une liste de fichier avec la largeur de colonne indiqué par le paramètre largeur. | MASM et IDEAL |
.TFCOND | .TFCOND | Cette directive permet de faire bascule le mode de conditionnel de liste de bloc. | MASM |
TITLE | TITLE texte | Cette directive permet de fixer le titre d'une liste de fichier avec le paramètre texte. | MASM |
%TITLE | %TITLE texte | Cette directive permet de fixer le titre d'une liste de fichier avec le paramètre texte. | MASM et IDEAL |
%TRUNC | %TRUNC | Cette directive permet d'effectuer le tronquage des champs d'une liste étant trop long. | MASM et IDEAL |
TYPEDEF |
TYPEDEF nom_type type_complexe nom_type TYPEDEF type_complexe |
Cette directive permet d'effectuer la définition de types nommés. | MASM et IDEAL |
UDATASEG | UDATASEG | Cette directive permet de définir le début d'un segment de données non-initialisé. | MASM et IDEAL |
UFARDATA | UFARDATA | Cette directive permet de définir le début d'un long segment de données non-initialisé. | MASM et IDEAL |
UNION | UNION nom champs ENDS [nom] nom UNION champs ENDS [nom] |
Cette directive permet de définir union avec le nom indiqué par le paramètre nom. Une union est comme la directive STRUC sauf que tous le mêmes déplacement, soit un offset à 0 au début de l'union. Le résultat de cette ensemble de champ est un recouvrement, allouant la référent à la région de mémoire définit par une union avec différent noms et différentes tailles de données. La longueur d'une union est la longueur du plus large de c'est membres et non pas la somme de tous la longueur de tous ses membres comme la directive STRUCT. Le paramètre champs permet de définir les champs compris dans l'union. Chaque champ utilise l'allocation de directive de données normal (DB, DW et les autres) pour définir leur taille. | MASM et IDEAL |
USES | USES item[,item]... | Cette directive permet d'indiquer quel registre ou simple jeton d'item de données sont empilés en premier dans la procédure quand la procédure les dépiles durant le retour de la procédure. Vous pouvez utilisé cette directive avant le début des instructions qu'il génère en code dans votre procédure. | MASM et IDEAL |
VERSION | VERSION version_ID | Cette directive permet de placer le Turbo Assembler dans le mode d'opération d'équivalence de la version spécifié par le paramètre version_ID. | MASM et IDEAL |
WARN | WARN classeattention | Cette directive permet d'activer le type de message d'avertissement spécifié avec le paramètre classeattention, ou tous les avertissements si le paramètre n'est pas spécifié. Le paramètre classeattention peut avoir une des valeurs suivantes : ALN, ASS, BRK, ICG, LCO, OPI, OPP, OPS, OVF, PDC, PRO, PQK, RES ou TPI. | MASM et IDEAL |
WHILE | WHILE tantqueexpression corpsmacro ENDM |
Cette directive permet d'effectuer une répétition du corps de la macro, indiqué par le paramètre corpsmacro, jusqu'à ce que la valeur du paramètre tantqueexpression égale 0 (ou faux). | MASM et IDEAL |
.XALL | .XALL | Cette directive permet d'indiquer que seul les macros étendue génère du code ou des données dans la liste. | MASM |
.XCREF | .XCREF | Cette directive permet de désactiver l'accumulation d'information des références croisés (CREF) de liste. | MASM |
.XLIST | .XLIST | Cette directive permet de désactiver les sous-séquences de sortie d'une liste de fichier. | MASM |
Références
Turbo Assembler - Version 3.2: Quick Reference Guide, Edition Borland International, 1992, Part #11MN-BPL-10-70, BOR 4703, page 17 à 50.
Dernière mise à jour : Samedi, le 2 août 2014