Les instructions de branchements |
Les instructions de branchement servent au déroutement de séquence. Au lieu de continuer l'enchaînement des instructions les unes derrière les autres, il est parfois nécessaire d'en sauter une partie ou de revenir à un point précédent. C'est le rôle de ces instructions. La mise en œuvre d'un saut ou déroutement de séquence utilise le compteur de programme PC. Selon l'utilisation de PC ce saut peut être absolu ou relatif.
Dans le cas d'un saut absolu, l'instruction de saut affecte dans PC l'adresse @endroit, soit : PC <- @endroit Dans le cas d'un saut relatif, l'instruction de saut réalise le saut en ajoutant à PC courant le nombre d'instructions entre l'adresse de l'instruction de branchement (PC courant) et l'adresse de destination du saut @endroit, soit : PC <- PC + nb d'instructions
Enfin ce saut absolu ou relatif peut s'effectuer de manière inconditionnel : le saut s'effectue à chaque fois que le processeur trouve cette instruction. conditionnel : le saut est fonction du résultat d'une condition. Dans le cas de branchement conditionnel, il s'agit de dérouter un programme, en fonction d'une condition, cette condition étant en générale exprimée par la valeur d'indicateurs codés sous forme de bits dans le registre d'état. Ces indicateurs de condition ou bits condition sont positionnés à 1 ou à 0 en fonction du résultat d'opérations arithmétiques ou logiques. Parmi ces indicateurs les plus courant sont :
- retenue désignée par le bit c : si lors d'un calcul, une retenue apparaît le bit c est positionné à 1 sinon il reste à zéro. - résultat nul désigné par le bit z : si lors d'un calcul, le résultat est nul, le bit z est positionné à 1 sinon il reste à 0. - résultat négatif désigné par le bit n : si un résultat est négatif, le bit n est positionné à 1 sinon il reste à 0. - dépassement désigné par le bit v : si le résultat dépasse les possibilités de calcul, le bit v est placé à 1 sinon il est à zéro.
Physiquement ces bits sont placés dans le registre d'état du processeur. Selon la puissance du processeur, ils ne sont pas tous implantés. Les instructions de branchements conditionnels testent ces bits puis effectue le branchement ou non en fonction de la valeur de ces bits. |