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-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.set Instruktionstyp. 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 0 für das erste globale Element im Wasm-Skript, 1 für das zweite usw.

Typ

[new_value] -> []
new_value

Der neue Wert, der für das globale Element gesetzt wird. Damit die global.set-Instruktion erfolgreich ist, muss das globale Element veränderbar sein (das mut Flag wurde beim Deklarieren gesetzt), und der new_value muss den gleichen data_type wie das globale Element haben.

Opcodes

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

Spezifikationen

Spezifikation
WebAssembly Core Specification
# syntax-instr-variable

Browser-Kompatibilität

Siehe auch