fill:Wasm 文本指令

fill 内存指令 将内存区域中的所有字节设置为给定的字节。

该指令不返回值。如果指示的内存区域超出范围,则会导致陷阱(异常)。

语法

在默认内存中填充

wasm
;; Fill region at offset/range in default memory with 255
i32.const 200 ;; The pointer to the region to update
i32.const 255 ;; The value to set each byte to (must be < 256)
i32.const 100 ;; The number of bytes to update
memory.fill ;; Fill default memory

;; Fill default memory using an S-function
(memory.fill (i32.const 200) (i32.const 255) (i32.const 100))

填充指定的内存(如果支持多内存)

wasm
;; Fill specific memory referenced by its index
i32.const 200 ;; The pointer to the region to update
i32.const 255 ;; The value to set each byte to (must be < 256)
i32.const 100 ;; The number of bytes to update
memory.fill (memory 1) ;; Fill memory with index 1

;; Fill memory referenced by its name
i32.const 200 ;; The pointer to the region to update
i32.const 255 ;; The value to set each byte to (must be < 256)
i32.const 100 ;; The number of bytes to update
memory.fill (memory $memoryName) ;; Fill memory with name "$memoryName"

;; Fill same memory using an S function
(memory.fill (memory $memoryName) (i32.const 200) (i32.const 255) (i32.const 100))

指令和操作码

指令 二进制操作码
memory.fill 0xFC 0x0b

规范

规范
未知规范
# syntax-instr-memory

浏览器兼容性

BCD 表格仅在浏览器中加载

注意: Wasm 模块中的内存支持与 WebAssembly.Memory JavaScript API 相匹配。 multiMemory 键指示可在其中使用指定内存的 store 版本。