boucle-vs
Démarrer une boucle... bloc ENDLOOP .
Syntaxe
| boucle aL, i# |
|---|
Où :
- aL est le Registre de compteur de boucle contenant le nombre de boucles actuel.
- Je suis # un Registre d’entiers constant. Consultez la section Remarques.
Notes
| Versions de nuanceur vertex | 1_1 | 2 _ 0 | 2 _ x | 2 _ logiciels | 3 _ 0 | 3 _ logiciels |
|---|---|---|---|---|---|---|
| loop | x | x | x | x | x |
- Le Registre de compteur de boucle (Al) contient le nombre de boucles actuel et peut être utilisé pour l’adressage relatif dans un Registre d’entiers constant (c # ) ou des registres de sortie (o # ) à l’intérieur du bloc de boucle.
- i # . x spécifie le nombre d’itérations. La plage autorisée est [ 0, 255 ] . Notez que cette instruction n’incrémente pas ou ne décrémente pas la valeur de i # . x.
- i # . y spécifie la valeur initiale du Registre du compteur de la boucle (Al). La plage autorisée est [ 0, 255 ] . Notez que cette instruction n’incrémente pas ou ne décrémente pas la valeur de i # . y.
- i # . z spécifie la taille de l’étape/du Stride. La plage autorisée est [ -128, 127 ] .
- i # . w n’est pas utilisé et doit être défini sur 0.
- Les blocs de boucle peuvent être imbriqués. consultez Flow limites d’imbrication des contrôles.
- Lorsqu’elle est imbriquée, la valeur du Registre de compteur de boucle (Al) fait référence au bloc de boucle englobant immédiatement.
- Les blocs de boucle sont autorisés à se trouver complètement à l’intérieur d’un bloc if ou à l' * entourer complètement. Aucun chevauchement n’est autorisé.
Exemple
loop aL, i3
add r1, r0, c2[aL]
endloop