global.set: Wasm Variable-Instruktion
Die global.set-Variableninstruktion setzt den Wert einer globalen Variablen.
Probieren Sie es aus
(module
(import "console" "log" (func $log (param i32)))
(global $var (mut i32) (i32.const 0))
(func $main
i32.const 10 ;; load a number onto the stack
global.set $var ;; set the $var
global.get $var ;; load $var onto the stack
call $log ;; log the result
)
(start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });
Syntax
global.set identifier
global.set-
Der Instruktionstyp
global.set. Muss immer zuerst inkludiert werden. identifier-
Ein Bezeichner für die globale Variable, deren Wert Sie setzen möchten. Dies kann eines der Folgenden sein:
name-
Der identifizierende Name, der für die globale Variable festgelegt wurde, als sie erstmals initialisiert wurde. Dieser muss mit einem
$-Symbol beginnen, zum Beispiel$my_global. index-
Die Indexnummer der globalen Variable, zum Beispiel
0für die erste globale Variable im Wasm-Skript,1für die zweite usw.
Typ
[new_value] -> []
Opcodes
| Instruktion | Binärformat | Beispieltext => Binär |
|---|---|---|
global.set |
0x24 |
global.set 0 => 0x24 0x00 |
Spezifikationen
| Spezifikation |
|---|
| WebAssembly Core Specification> # parametric-instructions①> |