局部 tee
local.tee 指令用于设置局部变量的值,并将该值加载到栈上。
该指令的名称来源于管道系统中使用的 T 型三通接头。
试一试
(module
(import "console" "log" (func $log (param i32)))
(func $main
(local $var i32) ;; create a local variable named $var
(i32.const 10) ;; load `10` onto the stack
local.tee $var ;; set the $var to `10` and keep `10` on the stack
call $log ;; log the top item on the stack (10)
)
(start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });
语法
wat
;; load the number 2 onto the stack
i32.const 2
;; store the number 2 in the variable $val and load it on the stack
local.tee $val
| 指令 | 二进制操作码 |
|---|---|
local.tee |
0x22 |