Tamaños de datos en Assembly
db, dw, dq: bytes, palabras, quadwords, declarados y medidos.
; db, dw, dd, dq declare initialized bytes through quadwords.
global _start
section .data
tag: db "v2", 10 ; three bytes
small: dw 300 ; two bytes
wide: dq 1000000 ; eight bytes
taglen: equ $ - small - 10 ; equ computes at assemble time
section .text
_start:
mov rax, 1
mov rdi, 1
mov rsi, tag
mov rdx, 3
syscall
movzx rdi, word [small] ; load 300 -> exit 300 mod 256 = 44
mov rax, 60
syscall
Cómo funciona
- Cada directiva reserva e inicializa su propio ancho.
movzxcarga la palabra de 16 bits sin basura de signo.- Los códigos de salida son un byte: 300 sale como 300 mod 256 = 44.
Palabras clave y builtins usados aquí
dbdqdwglobalraxrdirdxrsisectionword
El intento, en números
- Líneas
- 20
- Caracteres a escribir
- 448
- Tokens
- 60
- Ritmo de tres estrellas
- 55 tpm
Al ritmo de tres estrellas de 55 tokens por minuto, este intento toma unos 65 segundos.
Paso 1 de 4 en Datos; paso 7 de 31 en Fundamentos del lenguaje.