boucle - vs
Démarrer une boucle... bloc endloop .
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 vertex | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
loop | x | x | x | 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 entier constant (c#) ou les registres de sortie (o#) à l’intérieur du bloc de boucles.
- 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é et doit être défini sur 0.
- Les blocs de boucle peuvent être imbriqués. Consultez Limites d’imbrication du contrôle de flux.
- En cas d’imbrication, la valeur du registre du compteur de boucles (aL) fait référence au bloc de boucle englobant immédiat.
- Les blocs de boucles sont autorisés à se trouver complètement à l’intérieur d’un bloc if* ou à l’entourer complètement. Aucun stradling n’est autorisé.
Exemple
loop aL, i3
add r1, r0, c2[aL]
endloop
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour