J'ai un examen à venir sur le code d'assemblage Motorola HC12. Des conseils pour améliorer mon temps à lire et à comprendre le code asm efficacement et avec précision? Mes problèmes: Je prends beaucoup de temps pour lire le code ASM avec précision et si je me dépêche, ma pile est foirée!Conseils pour lire le code ASM?
Répondre
Le code ASM est difficile à lire. Il n'y a pas de truc magique qui facilite le décryptage.
Les seuls conseils que je peux vous donner: Ajouter lot de commentaires au code. Documentez ce que fait une séquence d'instructions. Ne vous concentrez pas sur les instructions, sauf si vous devez le faire.
Les compétences de lecture en assembleur peuvent également être mises en pratique rapidement. Si vous passez quelques soirées à écrire de petits programmes de jouets, vous serez en mesure de comprendre facilement le code des autres. Vous développerez la compétence pour vous concentrer sur les choses importantes, de sorte que vous aurez moins de code à lire globalement.
Je me souviens de mon institut. J'ai imprimé un programme d'assembleur difficile sur un rouleau de papier et ensuite j'ai couvert ce rôle avec des lignes de couleur (par des crayons), en désignant des procédures, des blocs, des sauts et d'autres choses. Peut-être existe-t-il des programmes de "visualisation" du code de montage de Motorola, mais je ne le sais pas.
Puisqu'il s'agit d'un examen, manipulez-le comme n'importe quel autre examen - organisez! Vous devez être capable d'identifier rapidement les blocs de code. Commencez par les instructions de branchement/retour qui interrompent le flux de contrôle. Ceux-ci indiquent typiquement une sous-routine de boucle ou de marque. Une fois que vous avez et l'idée de la façon dont le code s'écoule, puis comprendre ce qu'il fait dans chaque bloc.
This blog post est un peu lié. C'est une série de visualisations de jeux Atari 2600, leur code machine et leurs segments de données, illustrés par des lignes indiquant des sauts.
Ce n'est pas une réponse, mais c'est intéressant.
- 1. Explication du code Asm
- 2. Cygwin gcc - erreur asm:
- 3. Lire le code lua-like en php
- 4. Conseils pour l'intégration d'iTunes
- 5. Quelques conseils pour le traitement de fichiers volumineux en Java
- 6. Question d'entrevue Microsoft ASM?
- 7. Conseils concernant le cryptage
- 8. Conseils pour travailler dans une grande bibliothèque?
- 9. Où est passé asm/timex.h et get_cycles()?
- 10. Lire (pour comprendre) le code hexa dans le projet qui a été décompilé par le réflecteur
- 11. Conseils pour accélérer JDBC écrit?
- 12. Conseils pour l'internationalisation d'un plugin
- 13. Conseils pour le débogage des erreurs de latex dans Doxygen
- 14. Hibernate Query Conseils pour JPA
- 15. efficace C# Conseils
- 16. Bons conseils pour une présentation technique
- 17. ASM instrumentation bytecode pour l'entrée de la méthode/sortie
- 18. Comment lire et écrire le code machine .exe manuellement?
- 19. Conseils pour appeler le service WSE à partir de WCF?
- 20. attendu asm ou __attribute__ avant CRenderContext
- 21. Comment lire le code source du projet exemple Rails?
- 22. Erreur d'assembleur Linux "contrainte impossible dans 'asm'"
- 23. Un programme d'édition de code simulé pour le code C#
- 24. App pour lire le document (scantron-ish)
- 25. PHP pour lire le fichier sécurisé
- 26. Conseils de contrôle Web pour mon scénario
- 27. Conseils pour les débutants (Eclipse & Application Web)
- 28. Conseils pour la budgétisation des heures QA
- 29. Application Conseils .Net Spring pour objet HibernateTemplate
- 30. Conseils pour Delphi Development sur Mac
Veuillez ne pas utiliser de rouleau de papier hygiénique! :))) – macropas
bon point! À l'époque où j'étais à l'université, j'ai utilisé l'heure dans les transports en commun (deux heures par jour) pour lire et déboguer mon propre code asm. –