1. WebAssembly
  2. WebAssembly 參考指令
  3. WebAssembly 控制流相關指令
  4. br

此頁面由社群從英文翻譯而來。了解更多並加入 MDN Web Docs 社群。

View in English Always switch to English

br

br 是讓程式跳躍至指定區塊(可能是 loop、block 或是 if)。 br 有以下幾種變體:br_if 是在符合指定條件下程式才會跳躍至指定區塊;br_table 則是根據給予的參數不同,跳至不同區塊。

嘗試一下

(module
 ;; import the browser console object, you'll need to pass this in from JavaScript
 (import "console" "log" (func $log (param i32)))
 ;; create a global variable and initialize it to 0
 (global $i (mut i32) (i32.const 0))
 (func
 (loop $my_loop
 ;; add one to $i
 global.get $i
 i32.const 1
 i32.add
 global.set $i
 ;; log the current value of $i
 global.get $i
 call $log
 ;; if $i is less than 10 branch to loop
 global.get $i
 i32.const 10
 i32.lt_s
 br_if $my_loop
 )
 )
 (start 1) ;; run the first function automatically
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });

語法

wasm
;; 建立一個 loop 區塊,讓程式在之後可以跳回
(loop $my_loop
 ;; 跳回至 loop。
 ;; 在絕大多數的情況,你會希望其在特定條件下才回到 loop ,
 ;; 否則程式就會進入無限循環。
 br $my_loop
)
指令 二進制運算碼
br 0x0c
br_if 0x0d
br_table 0x0e

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /