El ensamblaje en Sway es opcional, pero está ahí cuando necesita exprimir todo el rendimiento y tomar el control directo de FuelVM. Vamos a desglosarlo 🧵
🔧 ¿Por qué usar Assembly? → Optimización del gas: La escritura de lógica directamente en bloques ASM reduce los costos de gas al evitar abstracciones de alto nivel → Control de bajo nivel: acceso directo al conjunto de instrucciones de FuelVM perfecto para autores de bibliotecas o usuarios avanzados que necesitan administración de memoria personalizada o comportamiento a nivel de código de operación
✅ Al igual que Solidity, Sway también tiene bloques de 'ensamblaje': Pero el formulario principal orientado al usuario es 'asm {}'.
Así es como se ve en Sway:
🔍 Entendiendo el bloque asm: Esto simplemente usa la instrucción add para agregar uno al registro r1 y almacena el resultado en el registro r2, luego lo devuelve. El registro de retorno se especifica al final, después de todas las instrucciones de montaje. Consiste en el nombre del registro y el tipo de retorno opcional (r2: u32). Si se omite el tipo de valor devuelto, el valor predeterminado es u64.
¿Desea devolver varios valores? Puede modificar una tupla dentro del bloque de ensamblaje:
506