cours 8 Procedure assembleur.key
Sicard
Les procédures/fonctionsLes procédures en langage d’assemblage • Une procédure (ou fonction) en langage de haut niveau!:- Un nom- Des paramètres!: Par valeur (ou donnée) ou par adresse (ou résultat)• Comment traduire en langage d’assemblage la définition et les - Des variables localesappels des procédures et fonctions des langages de haut niveau ? - Un corps!: liste d’instructionsPour les fonctions!: une valeur retournée Procédure Langage d’assemblage Procédure Langage d’assemblage© P. Sicard-Cours ALM 8 © P. Sicard-Cours ALM 8 1 2Introduction 1. Première approche• L’appel de procédure• Exemple en C!:• Pas de variable locale, ni de paramètre.void B (int a, int *b){En C!: En assembleurint z=2!;int t!= 1!;Void Proc() {}!; Etiq_Proc!: traduction des *b= z+a +t!; /*affectation de la case memoire dont l’adresse est dans le 2eme paramètre */ instructions de Proc } branchement à ad-retourmain() " main(){ { … main: …int x=1; Proc()!; Branchement à Etiq_Procint y; …. ad-retour: ….B(x,&y); /* &y: adresse de y */ }Procédure Langage d’assemblage Procédure Langage d’assemblage© P. ...