$A |
Alignement |
Turbo Pascal |
Syntaxe
Paramètres
Nom |
Description |
- |
Ce paramètre permet de désactiver l'alignement des champs. |
+ |
Ce paramètre permet d'activer l'alignement des champs. |
Description
Cette directive permet d'indiquer s'il faut contrôler ou non l'alignement des champs.
Remarques
- La directive $A bascule entre l'alignement d'octets et de mots des variables et des constantes typées. L'alignement des mots n'a aucun effet
sur le microprocesseur 8088. Cependant, sur tous les microprocesseurs 80x86, l'alignement des mots signifie une exécution plus
rapide car les éléments de la taille des mots sur les adresses paires sont accessibles en un cycle de mémoire plutôt que deux cycles de mémoire pour les mots sur les adresses impaires.
- Dans l'état {$A+}, toutes les variables et les constantes typées supérieures à un octet sont alignées sur une limite de mot machine (une adresse de numéro pair). Si nécessaire,
des octets inutilisés sont insérés entre les variables pour réaliser l'alignement des mots. La directive {$A+} n'affecte pas les variables de taille octet, ni les champs des
structures d'enregistrement et les éléments des tableaux. Un champ dans un enregistrement ne s'alignera sur une limite de mot que si la taille totale de tous les champs avant qu'il
soit pair. Pour que chaque élément d'un tableau s'aligne sur une limite de mot, la taille des éléments doit être égale.
- Dans l'état {$A-}, aucune mesure d'alignement n'est prise. Les variables et les constantes typées sont simplement placées à la prochaine adresse disponible, quelle que soit
leur taille.
- Quel que soit l'état de la directive $A, chaque section de déclaration globale Var et Const commence toujours à
la limite d'un mot. De même, le compilateur maintient toujours le mot du pointeur de pile (SP) aligné en allouant un octet supplémentaire non utilisé dans le cadre de pile d'une
procédure si nécessaire.
Dernière mise à jour : Dimanche, le 25 janvier 2015