Retour index

Appel de sous- programme

Retour niveau sup

Un sous programme est une portion de programme qui peut être exécutée de manière indépendante par rapport à un programme dit principal. Un sous-programme sert dans le cas de séquences répétitives. Ainsi, si dans un programme il est utile de disposer d'une temporisation dans plusieurs endroits du programme, il est intéressant de l'implanter comme un sous-programme. Cela évite d'avoir à recopier le même code plusieurs fois et donc optimise la taille du programme.

L'intérêt des sous-programmes ne se limite pas aux séquences de code répétitives. Il permet de mettre en place une conception modulaire d'une application. Pour permettre de mettre au point de manière efficace une application, il est intéressant de découper l'application en petites portions indépendantes, de les traduire chacune en assembleur, de les tester indépendamment des unes des autres et enfin de les assembler pour constituer l'application globale. Chaque est alors implantée sous la forme d'un sous programme. Ce type de démarche permet une approche rigoureuse de la programmation.

 

La mise en œuvre d'un sous-programme nécessite deux choses : une instruction d'appel de sous-programme et une instruction de retour de sous-programme. En effet, un sous-programme doit pouvoir être appelé de n'importe quel endroit d'un programme : c'est le rôle de l'instruction d'appel du sous programme. Une fois l'exécution de cette portion de code terminée, le compteur de programme doit pouvoir revenir à l'instruction qui suit l'appel du sous-programme, c'est le rôle de l'instruction de retour du sous programme.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ce mécanisme est mis en œuvre grâce à la pile système. Il s'agit d'une portion de mémoire qui est utilisée par le processeur pour sauvegarder des éléments indispensables pour son fonctionnement. Dans ce cas lors de l'appel d'un sous-programme, l'adresse de retour est sauvegardée en pile. Elle est restaurée et réaffectée à PC lors du retour de sous-programme.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L'appel d'un sous-programme peut être relatif ou absolu comme tout branchement mais le retour est toujours absolu.

 

Appel de sous programme : cas du 68K

Appel de sous programme : cas du 8051

 

 

Retour index

Suite