Cours Assembleur 8086

Fonctions

Appel on découpe le code en fonctions pour simplier la lecture et la maintenance du code Pour écrire une fonction en assembleur, il faut savoir comment l’appeller et comment lui passer des arguments L’appel de fonction se fait avec le mnemonic call suivi de l’adresse de la fonction Si l’adresse est sur 16 bits, on dit que c’est un call near (i.e. dans le même segment) Si l’adresse est sur 16 : 16 bits, on dit que c’est un call far (i.e. dans un autre segment) Le mnemonic sauvegarde ip sur la pile, c’est l’adresse de retour Pour un far call, l’instruction sauvegarde cs sur la pile (avant ip)
Retour À la n d’une fonction, on utilise le mnemonic ret, qui restaure ip depuis la pile Pour faire un retour depuis une fonction appellée en far call, il faut utilier retf, qui restaure aussi cs depuis la pile Pour éviter tout problème, il est impératif que la pile soit dans le même état avant de faire un ret ou un retf qu’au début de la fonction..
Arguments Il existe plusieurs méthodes pour passer des arguments à une fonction Le choix de la méthode dépend d’une convention entre appellant et appellé..
Passage par registre La convention spécie les arguments que doivent contenir les registres Elle est utilisée par les interruptions Avantages Rapide à l’exécution Simple à programmer Inconvénients Il n’y a que 8 registres utilisables Il faut sauvegarder les registres avant chaque appel..
Passage par la pile Cette convention consiste à empiler les arguments sur la pile avant l’appel La fonction récupère les arguments sur la pile Avantages On peut utiliser plus d’arguments Meilleur interface avec d’autres langages Plus facile d’appeller en cascade Inconvénients Plus dicile à mettre en oeuvre Moins rapide à l’exécution En plus de ces facteurs, la convention doit spécier plusieurs points L’ordre dans lequel empiler les arguments (en C : du dernier au premier, en Pascal : du premier au dernier) Qui doit nettoyer la pile? (en C : l’appellant, en Pascal : l’appellé)
Valeur de retour Les valeurs de retour sont aussi soumises à un choix de convention Les même conventions que pour le passage de paramètre s’appliquent Le retour sur la pile est beaucoup plus complexe que le retour par les registres..

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *