mul y div en Assembly
Multiplicación y división viven en rax; rdx atrapa el resto.
; mul and div work through rax; rdx catches high bits and remainder.
global _start
section .text
_start:
mov rax, 6
mov rbx, 7
imul rax, rbx ; rax = 42
xor rdx, rdx ; clear high half before dividing
mov rcx, 5
div rcx ; rax = 8, rdx = 2
add rax, rdx ; 10
mov rdi, rax
mov rax, 60 ; exit code 10
syscall
Cómo funciona
imul rax, rbxmultiplica en el lugar, con signo.divnecesitardxlimpio antes — divide rdx:rax.- El cociente cae en rax, el resto en rdx: 8 y 2.
Palabras clave y builtins usados aquí
globalraxrbxrcxrdirdxsection
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 365
- Tokens
- 46
- Ritmo de tres estrellas
- 55 tpm
Al ritmo de tres estrellas de 55 tokens por minuto, este intento toma unos 50 segundos.
Paso 2 de 3 en Aritmética; paso 5 de 31 en Fundamentos del lenguaje.