wasm-micro-runtime/samples/terminate/wasm-apps/testapp.wat

54 lines
1.2 KiB
Plaintext

;; Copyright (C) 2024 YAMAMOTO Takashi
;; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
(module
(func $fd_read (import "wasi_snapshot_preview1" "fd_read") (param i32 i32 i32 i32) (result i32))
(func $block_forever (export "block_forever")
;; read from FD 0
i32.const 100 ;; iov_base
i32.const 200 ;; buffer
i32.store
i32.const 104 ;; iov_len
i32.const 1
i32.store
i32.const 0 ;; fd 0
i32.const 100 ;; iov_base
i32.const 1 ;; iov count
i32.const 300 ;; retp (out)
call $fd_read
unreachable
)
(func (export "_start")
call $block_forever
)
;; a dumb malloc/free implementation
(func (export "malloc") (param i32) (result i32)
local.get 0
i32.const 65535
i32.add
i32.const 65536
i32.div_u
memory.grow
local.set 0
local.get 0
i32.const -1
i32.eq
if
i32.const 0
return
end
local.get 0
i32.const 65536
i32.mul
)
(func (export "free") (param i32))
(memory (export "memory") 1)
;; fake globals to make wasm_set_aux_stack happy
(global (export "__heap_base") i32 (i32.const 0x10000))
(global (export "__data_end") i32 (i32.const 0x10000))
(global (mut i32) (i32.const 0x10000))
)