Les instructions de boucle en assembleur ont une forme très différentes des langages de programmation évolué comme C, Pascal ou Ada. Il est cependant possible d'avoir un équivalent des formats classiques d'instructions conditionnelles, soit les formes suivantes :
- BOUCLE POUR
- FAIRE TANT QUE condition ... FIN FAIRE TANT QUE
- REPETER ... JUSQU'A condition
BOUCLE POUR
Si nous partons de l'algorithme suivante :
BOUCLE POUR variable = valeurdebut JUSQU'A valeurfin instruction FIN BOUCLE POUR |
On aura donc une syntaxe ressemblant à ceci :
MOV CX,valeurdebut POUR1: CMP CX,valeurfin JA FINPOUR1 instruction INC CX JMP POUR1 FINPOUR1: |
Exemple
L'exemple suivant permet d'avoir la valeur multiplié du compteur à chaque passage de la boucle :
FAIRE TANT QUE condition ... FIN FAIRE TANT QUE
Si nous partons de l'algorithme suivante :
BOUCLE FAIRE TANT QUE operande = valeur instruction FIN BOUCLE FAIRE TANT QUE |
Exemple
L'exemple suivant permet de diviser par la valeur de BX jusqu'à ce qu'elle a la valeur 0 :
On aura donc une syntaxe ressemblant à ceci :
TANTQUE1: CMP operande,valeur JNZ FINTANTQUE1 instruction JMP TANTQUE1 FINTANTQUE1: |
REPETER ... JUSQU'A condition
Si nous partons de l'algorithme suivante :
REPETER instruction JUSQU'A operande = valeur |
On aura donc une syntaxe ressemblant à ceci :
REPETER1: instruction CMP operande,valeur JNZ REPETER1 FINREPETER1: |
Exemple
L'exemple suivant permet de diviser par la valeur de BX jusqu'à ce qu'elle a la valeur 0 :