copy: Wasm-Textanweisung
Die copy-Memory-Anweisung kopiert Daten von einem Bereich eines Speichers in einen anderen.
Die Anweisung gibt keinen Wert zurück. Wenn entweder der Quell- oder der Zielbereich außerhalb des gültigen Bereichs liegt, führt die Anweisung zu einem Fehler.
Syntax
Kopieren innerhalb des Standardspeichers
wat
;; Copy data in default memory from [100, 125] to [50, 75] i32.const 50 ;; Destination address to copy to i32.const 100 ;; Source address to copy from i32.const 25 ;; Number of bytes to copy memory.copy ;; Copy memory ;; Copy in default memory using an S-function (memory.copy (i32.const 50) (i32.const 100) (i32.const 25)) Kopieren des angegebenen Speichers (falls Multi-Memory unterstützt wird)
wat
;; Copy data in specific memory [100, 125] to [50, 75] i32.const 50 ;; Destination address to copy to i32.const 100 ;; Source address to copy from i32.const 25 ;; Number of bytes to copy memory.copy (memory 2) ;; Copy memory within memory with index 2 ;; Copy within memory referenced by its name i32.const 50 ;; Destination address to copy to i32.const 100 ;; Source address to copy from i32.const 25 ;; Number of bytes to copy memory.copy (memory $memoryName) ;; Copy memory with memory named "$memoryName" ;; Copy same memory using an S function (memory.copy (memory $memoryName) (i32.const 50) (i32.const 100) (i32.const 25)) Anweisungen und Opcodes
| Anweisung | Binärer Opcode |
|---|---|
memory.copy | 0xFC 0x0a |
Spezifikationen
| Specification |
|---|
| Unknown specification> # syntax-instr-memory> |
Browser-Kompatibilität
>webassembly.bulk-memory-operations
webassembly.multiMemory
Hinweis: Die multiMemory-Kompatibilitätstabelle gibt an, in welchen Versionen copy mit einem angegebenen Speicher verwendet werden kann.