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
版本。