User: alciro    User
 Original    Translate to:  Deutsch  English  Français  中文  
 

Microcontroladores 8051

5.4. Sous-routine ou sous-routine

Une sous-routine ou sous-routine dans un programme distinct section ou partie du programme principal qui peut être appelé à remplir une fonction spécifique. La sous-routine peut être exigé par le programme principal ou d'une autre sous-programme autant de fois que nécessaire. Lorsque vous appelez un sous-programme la mise en œuvre du programme en cours est arrêtée, le compteur de programme PC (compteur de programme) est chargé de l'emplacement mémoire de la sous-routine, en cours d'exécution jusqu'à l'instruction RET (fin du sous-programme), où produire un retour au programme principal reprend son cours. Les langages de haut niveau tels que C, sous-programmes de base sont connus sous le nom de fonctions ou de procédures.

Dans les sous-programmes doivent prendre en compte les considérations suivantes:

  • Effectuer des fonctions spécifiques et ne sont pas établis à leur propre.
  • Sont toujours liés à un important programme ou autres sous-programmes.
  • Peut être appelé de nombreuses fois que nécessaire, car il réduit le code du programme pour avoir l'effet de la réutilisation du code.
  • Permettre à la Division des blocs de programme que d'effectuer la fonction de la structure. Offrir une plus grande visibilité et la compréhension de celui-ci.

Comme de bons conseils, il est recommandé chaque fois que possible la division des sous-routines ou sous-programme et de minimiser le contenu des phrases dans le programme principal. Surtout, les sous-programmes sont nécessaires lorsque le cadre d'un programme d'être exécuté plusieurs fois. Nous allons rendre le programme plus facile et prend moins de place dans la mémoire ROM.

Si un sous-programme est composé de quelques instructions, il peut être souhaitable de ne pas le créer, car le mécanisme d'appel et de retour, il peut être plus lents à l'exécution des instructions lieu directement dans le programme principal.

Sous-routine ou sous-routine dans sensamblador

Instruction CALL

Appel d'un sous-programme. Le compteur de programme est remplacée par l'adresse où l'exécution se poursuit. Le contenu du PC (à côté la position actuelle) est stockée dans la pile.

Dir LCALL

1 º
(PC) = (PC) 3 Lisez les instructions et le programme de points PC contre à la prochaine
2 º
(SP) = (SP) 1 Pile enregistrées dans le compteur de programme PC est orienté vers la prochaine instruction
3 º
((SP)) = (PC 7-0)
4 º
(SP) = (SP) 1
5 º
((SP)) = (PC 15-8)
6 º
(PC) = 15-0 addreses Programme de contrôle est transféré à l'instruction dont l'adresse est indiquée dans les octets 2 et 3 de l'instruction CALL réelle

Instruction RET

Retour Subroutine. Stack est récupéré à partir du compteur de programme PC et le programme se poursuit à l'instruction suivant l'Appel sous-routine.

RET

1 º
(PC 15-8) = ((SP)) Il récupère le compteur de programme Mémoire PC Stack
2 º
(SP) = (SP) -1
3 º
(PC 7-0) = ((SP)) L'exécution du programme reprend à la position suivante à l'appel à la routine
4 º
(SP) = (SP) -1

L'imbrication de sous-routines

Sous-routines de nidification
Loading
copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |