Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 0 für die erste globale Variable im Wasm-Skript, 1 für die zweite usw.

Typ

[new_value] -> []
new_value

Der neue Wert, der für die globale Variable gesetzt wird. Damit die global.set-Instruktion erfolgreich ist, muss die globale Variable veränderlich sein (das mut-Flag wurde bei der Deklaration gesetzt) und der new_value muss denselben data_type wie die globale Variable haben.

Opcodes

Instruktion Binärformat Beispieltext => Binär
global.set 0x24 global.set 0 => 0x24 0x00

Spezifikationen

Spezifikation
WebAssembly Core Specification
# parametric-instructions①

Browser-Kompatibilität

Siehe auch