The const numeric instruction is used to declare numbers.
(module
(import "console" "log" (func $log (param i32)))
(func $main
i32.const 10 ;; load a number onto the stack
call $log ;; log the number
)
(start $main)
)const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });value_type.const
value_typeThe type of value the instruction is being run on. The following types support const:
i32i64f32f64v128constThe const instruction. Must always be included after the value_type and a period (.).
[] -> [output]
outputThe value being pushed onto the stack:
| Instruction | Binary format | Example text => binary |
|---|---|---|
i32.const | 0x41 i:leb128 | i32.const 2 => 0x41 0x02 |
i64.const | 0x42 i:leb128 | i64.const 1 => 0x42 0x01 |
f32.const | 0x43 f:float32 | f32.const 2.5 => 0x43 0x00 0x00 0x20 0x40 |
f64.const | 0x44 f:float64 | f64.const 2.5 => 0x44 0x00 0x00 0x00 0x00 0x00 0x00 0x04 0x40 |
v128.const | 0xfd 0x0c (b:byte)¹⁶ | v128.const i32x4 0x9 0xa 0xb 0xc => 0xfd 0x0c 0x09 0x00 0x00 0x00 0x0a 0x00 0x00 0x00 0x0b 0x00 0x00 0x00 0x0c 0x00 0x00 0x00 |