L'assemblage dans Sway est optionnel, mais il est là quand vous avez besoin d'extraire chaque bit de performance et de prendre le contrôle direct du FuelVM. Décomposons cela 🧵
🔧 Pourquoi utiliser Assembly ? → Optimisation des frais : Écrire la logique directement dans des blocs asm réduit les coûts de gaz en évitant les abstractions de haut niveau → Contrôle de bas niveau : Accès direct à l'ensemble d'instructions de FuelVM, parfait pour les auteurs de bibliothèques ou les utilisateurs avancés qui ont besoin d'une gestion de mémoire personnalisée ou d'un comportement au niveau des opcodes.
✅ Tout comme Solidity, Sway a également des blocs `assembly` : Mais la principale forme destinée aux utilisateurs est `asm {}`.
Voici à quoi cela ressemble dans Sway :
🔍 Comprendre le bloc asm : Cela utilise simplement l'instruction add pour ajouter un à l'enregistreur r1 et stocke le résultat dans l'enregistreur r2, puis le retourne. L'enregistreur de retour est spécifié à la fin, après toutes les instructions d'assemblage. Il se compose du nom de l'enregistreur et d'un type de retour optionnel (r2 : u32). Si le type de retour est omis, il par défaut à u64.
Vous voulez retourner plusieurs valeurs ? Vous pouvez modifier un tuple dans le bloc d'assemblage :
422