Martial Demolins (./1) :
La question que je me pose est de savoir si il convient mieux d'établirue convention de destruction des registres (genre d0-d2/a0-a1, au hasard) pour chaque fonction, ou s'il est plus avantageux de faire sauvegarder et restaurer les registres par chaque fonction? Je suppose que ceux qui ont de l'expérience dans les programmes de taille asuront me répondre.
Ben la réponse est assez simple si c'est la performance qui t'intéresse, en fait : avoir 5 registres de données au lieu de 8 (et 5 au lieu de 7 pour les registres d'adresse) est nettement moins pénalisant que de devoir empiler et dépiler au minimum 2-3 registres au moindre appel de fonction... Et établir une convention évite de te prendre la tête pour savoir quoi restaurer, mais évidemment quand la performance est vraiment critique il vaut mieux changer de convention (le must en vitesse étant de passer l'adresse de retour dans un registre d'adresse et pas sur la pile

)
Si par contre tu cherches juste à coder de la façon la plus simple possible sans te soucier de la performance c'est sûr que c'est plus simple de tout sauvegarder et tout restaurer à la bourrin
