Que fait exactement cette instruction? Je sais qu'il essaie d'aligner les données avec un multiple d'un nombre spécifique, mais pourquoi auriez-vous besoin de faire cela? Y a-t-il une instruction équivalente dans les autres assembleurs?Instruction 'align' sur MIPS
Répondre
Vous alignez généralement les données pour obtenir de meilleures performances. Pour la plupart des processeurs, l'accès à la mémoire est pénalisé lorsqu'il n'accède pas à des limites d'octets spécifiques. Pour les autres assembleurs, il existe souvent une sorte de pseudo-op.align
pour cela. La plupart des compilateurs alignent également leurs structures de données (bien que vous puissiez le désactiver à des fins de débogage).
Voir aussi Wikipedia entry.
Notez que les systèmes MIPS non émulés peuvent même se bloquer si vous essayez d'accéder à des cellules de mémoire non alignées (voir here et here).
Existe-t-il un instruccion équivalent dans d'autres assembleurs?
MASM a une Align directive: http://msdn.microsoft.com/en-us/library/dwa9fwef(VS.80).aspx
Il aligne tout à la puissance de deux nième. Son pas une instruction, la directive qui sera traduit en instructions
En ce qui concerne son utilisation, pour exampe:
instructions MIPS32 sont toujours 32 bits. Donc chaque instruction devrait commencer sur une limite de mot. L'ajout d'une directive .align avant le démarrage du code aligne les objets sur 32 bits. Cela présente de nombreux avantages, y compris le fait qu'il ne faut qu'un accès mémoire pour l'extraction de l'instruction, et que cela sera probablement bénéfique sur le cache des instructions.
Que diriez-vous de stocker le double float sur la pile? Il a besoin de 8 octets d'alignement à droite? –
Oui, les doubles sont alignés sur 64 bits – Tom
- 1. mips assemblée question
- 2. Problème avec l'assemblage mips
- 3. text-align Jquery Flexigrid
- 4. Code MIPS cassé
- 5. Align = "centre" effet sur les données affichées gridview lignes
- 6. 'align': attribut étendu non reconnu
- 7. centre texte align avec css
- 8. Pig Latin dans l'assemblage MIPS
- 9. Comment ajouter align = "absmiddle" dans Jquery datepicker
- 10. Comment compiler nfsutils pour l'architecture MIPS?
- 11. QT vs Delphi et Align possibilités
- 12. img align verticale dans div maître
- 13. gcc pour MIPS, 3.4.4 ou 4.3.2?
- 14. MIPS à virgule flottante: SWC1 contre s.s
- 15. Pointeur d'assemblage MIPS à un pointeur?
- 16. Comment incrémenter l'adresse dans l'assemblage MIPS?
- 17. mission d'assemblage MIPS - problème avec un mot de charge
- 18. "vertical-align: middle" ne s'aligne pas au milieu dans Firefox
- 19. Une meilleure css div align (3 colonnes, milieu grand)
- 20. Comment forcer la compilation C++ sur un fichier .c à l'aide du compilateur MIPS de VxWorks?
- 21. instruction switch
- 22. vertical de l'image-align dans un bloc à hauteur fixe
- 23. vertical align div dans un div utilisant jquery?
- 24. Programme MIPS pour déterminer la réussite ou l'échec des tests
- 25. Trier une liste de nombres saisis par l'utilisateur dans MIPS
- 26. Imprimer le nombre à virgule flottante arrondi dans MIPS
- 27. MIPS comment pouvez-vous comparer un personnage pris en entrée?
- 28. Question rapide sur le retour d'une instruction imbriquée
- 29. TRY CATCH sur une CONVERSION dans une instruction Select
- 30. instruction préparée dans ejb3
Merci pour les précisions supplémentaires dans les liens externes! –