WebAssembly text format
前々から手書きしたいと思っていた
S 式だし書きやすそう
Getting Started
基本
(module )
Memory
(memory 1)
1 page 分 (64KB) メモリを使用する
Function
func $name (param i32) (result i32) (local i32)
この場合、param の値を取得するには get_local 0, local 変数は get_local 1
名前を明示できる
(param $i i32)
この時、get_local $i
実行は call $name
値の格納、読み込み
offset を指定し、その領域に書き込む
i32.store
1 byte の場合 i32.store8
i32.load
Switch
br_table
switch と tableswitch は古いっぽい、消えた
If
if
else
select は無くなったのかな?
For / While
loop
(block (loop (br_if 1 (i32.eqz (i32.const 0))) (br 0)))
br_if で loop を抜けて br で continue する
四則演算
i32.add
i32.sub
i32.mul
i32.div_*