Branchements à des sous routines

 

Branchement inconditionnel à une sous-routine

Il s'agit de branchements inconditionnels mais avec retour à la ligne suivant la ligne qui a appelé la sous routine.

Deux commandes permettent de "sauter/d'aller" à la ligne n:

- La commande JSR permet un déplacement absolu

JSR [AE]

Dans ce cas, le registre pc reçoit l'adresse indiquée, SP reçoit l'adresse de retour, càd l'adresse de l'instruction suivante.

Etat du registre CCR :

X

N

Z

V

C

-

-

-

-

-

Légende

 

- BSR permet un déplacement relatif à la position courante

Dans ce cas, le registre pc reçoit pc + déplacement indiqué après le BSR, SP reçoit l'adresse de retour, càd l'adresse de l'instruction suivante.

BSR [étiquette]

Image non trouvée !Le code est relogeable avec ce genre de commande !

Etat du registre CCR :

X

N

Z

V

C

-

-

-

-

-

Légende

Retour de sous routine

Pour revenir à la suite de la ligne ayant déclenchée la sous routine, il faudra utiliser l'instruction RTS (return subroutine). La pile SP sera alors corrigée automatiquement (SP)+, PC pointant sur la ligne suivante a exécuter.

Etat du registre CCR :

X

N

Z

V

C

-

-

-

-

-

Légende