global.set: Wasm-Textinstruktion
Die global.set-Instruktion setzt die Werte 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
global.setInstruktionstyp. Muss immer zuerst angegeben werden. identifier-
Ein Bezeichner für das globale Element, dessen Wert Sie setzen möchten. Dies kann eines der folgenden sein:
name-
Der identifizierende Name, der für das globale Element festgelegt wurde, als es erstmals initialisiert wurde. Dieser muss mit einem
$-Symbol beginnen, zum Beispiel$my_global. index-
Die Indexnummer des globalen Elements, zum Beispiel
0für das erste globale Element im Wasm-Skript,1für das 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> # syntax-instr-variable> |