lea en Assembly
Calcula una dirección sin cargarla: aritmética gratis.
; lea computes an address without touching memory: free arithmetic.
global _start
section .text
_start:
mov rax, 5
mov rbx, 7
lea rcx, [rax + rbx] ; 12, plain add
lea rcx, [rcx + rcx * 4] ; times 5 in one instruction
lea rdi, [rcx + 6] ; 66
mov rax, 60 ; exit code 66
syscall
Cómo funciona
leacorre la cuenta de direcciones y se queda el número.[rcx + rcx * 4]es por cinco en una sola instrucción.- Los compiladores se apoyan en esto constantemente.
Palabras clave y builtins usados aquí
globalraxrbxrcxrdisection
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 313
- Tokens
- 49
- Ritmo de tres estrellas
- 55 tpm
Al ritmo de tres estrellas de 55 tokens por minuto, este intento toma unos 53 segundos.
Paso 2 de 4 en Memoria y strings; paso 23 de 31 en Fundamentos del lenguaje.