Alignement et nommage des données
Page 1 sur 1
Alignement et nommage des données
Il est nécessaire de prendre l'habitude d'aligner les données dans les sections .data et .bss. En effet cela peut influencer sur la performance de l'UC.
Les qwords (8octets) doivent être alignés sur une frontière de 8 octets. Donc les mettre en premier derrière la declaration de la section.
Les dwords (4octets) sur une frontière de 4 octets.
Les words (2 octets) sur une frontière de 2 octets.
Les structures utilisées par l'API Windows doivent être alignées sur une frontière de 8 octets.
Vous pouvez utiliser la directive align pour aligner correctement les données.
Remarque : j'ai rencontré un problème avec l'instruction align 8 pour les structures quand on la code comme ceci
J'ai été obligé de coder comme ceci
Pour le nommage des variables en assembleur, il est possible de respecter une certaine normalisation :
Ecrire les constantes en majuscules : exemple MB_OK ou MAXI equ 1000
Commencer les noms des variables par les inititiales de leur type :
qCompteur pour un quadruple mot, dCpt1 pour un double mot, wCPT2 pour un word et bZone pour un byte
s pour une chaine (string en anglais), sz pour une chaine terminée par zero.
h pour les handles de l'API et pt pour des pointeurs.
Les qwords (8octets) doivent être alignés sur une frontière de 8 octets. Donc les mettre en premier derrière la declaration de la section.
Les dwords (4octets) sur une frontière de 4 octets.
Les words (2 octets) sur une frontière de 2 octets.
Les structures utilisées par l'API Windows doivent être alignées sur une frontière de 8 octets.
Vous pouvez utiliser la directive align pour aligner correctement les données.
Remarque : j'ai rencontré un problème avec l'instruction align 8 pour les structures quand on la code comme ceci
- Code:
toto: align 8 istruc
J'ai été obligé de coder comme ceci
- Code:
totoa align 8
toto istruc
Pour le nommage des variables en assembleur, il est possible de respecter une certaine normalisation :
Ecrire les constantes en majuscules : exemple MB_OK ou MAXI equ 1000
Commencer les noms des variables par les inititiales de leur type :
qCompteur pour un quadruple mot, dCpt1 pour un double mot, wCPT2 pour un word et bZone pour un byte
s pour une chaine (string en anglais), sz pour une chaine terminée par zero.
h pour les handles de l'API et pt pour des pointeurs.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|