boucle - ps
Démarre une boucle... endloop - bloc ps .
Syntaxe
boucle aL, i # |
---|
Où :
- aL est le registre du compteur de boucles contenant le nombre de boucles actuel.
- i# est un registre d’entiers constants. Consultez la section Remarques.
Notes
Versions du nuanceur de pixels | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
loop | x | x |
- Le registre du compteur de boucles (aL) contient le nombre de boucles actuel et peut être utilisé pour l’adressage relatif dans le registre de couleur d’entrée (v#) à l’intérieur du bloc de boucle.
- i#.x spécifie le nombre d’itérations. La plage juridique est [0, 255]. Notez que cette instruction n’incrémente ni ne décrémente la valeur de i#.x.
- i#.y spécifie la valeur initiale du registre de compteurs de boucles (aL). La plage juridique est [0, 255]. Notez que cette instruction n’incrémente ni ne décrémente la valeur de i#.y.
- i#.z spécifie la taille de l’étape/de la foulée. La plage juridique est [-128, 127].
- i#.w n’est pas utilisé par le bloc de boucle et doit être 0.
- Les blocs de boucle peuvent être imbriqués. Consultez Limitations du contrôle de flux.
- Lorsqu’elle est imbriquée, la valeur du registre de compteurs de boucles (aL) fait référence au bloc de boucle englobant immédiat.
- Les blocs de boucle sont autorisés à se trouver complètement à l’intérieur d’un bloc if* ou à l’entourer complètement. Aucune chevauchant n’est autorisée.
Exemple
loop aL, i3
add r1, r0, v2[ aL ]
endloop
Rubriques connexes