Segmentos de datos en WebAssembly
Bytes horneados en la memoria antes de que nada corra.
(module
;; A data segment bakes bytes into memory at instantiation; load8_u
;; reads one byte back as an unsigned i32.
(memory 1)
(data (i32.const 0) "TRAILHEAD")
(func (export "byte_at") (param $i i32) (result i32)
(i32.load8_u (local.get $i)))
;; The first byte, 'T', is ASCII 84.
(func (export "first_byte") (result i32)
(i32.load8_u (i32.const 0))))
Cómo funciona
(data (i32.const 0) "TRAILHEAD")escribe al instanciar.i32.load8_ulee un byte de vuelta como i32 sin signo.- El primer byte es ASCII: la 'T' se lee como 84.
Palabras clave y builtins usados aquí
dataexportfunci32memorymoduleparamresult
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 355
- Tokens
- 65
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 60 segundos.
Paso 2 de 4 en Memoria; paso 17 de 28 en Fundamentos del lenguaje.