WebAssembly原理与核心技术
上QQ阅读APP看书,第一时间看更新

3.4 完善dump命令

有了指令结构体定义和解码逻辑,我们可以给第2章编写的dump半成品增加指令打印逻辑了。这部分内容比较简单,读者可以试着自己实现,或者直接从dumper.go文件里找到新增代码,下面是新版dump命令的执行结果。


$ cd code/go/ch03/wasm.go/
$ wat2wasm ../../../wat/ch03_block.wat
$ go run wasm.go/cmd/wasmgo -d ch03_block.wasm
...
Code[1]:
  func[0]: locals=[]
    block ()->(i32)
      i32.const 1
      loop
        i32.const 2
        if
          i32.const 3
        else
          i32.const 4
        end
      end
    end
...