userland/src/lib: add bloghelloworld

This commit is contained in:
Cadey Ratio 2018-06-18 04:13:21 +00:00
parent d582c3b14b
commit a0805258e3
1 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,40 @@
(module
;; import functions from env
(func $close (import "env" "close") (param i32) (result i32))
(func $open (import "env" "open") (param i32 i32) (result i32))
(func $read (import "env" "read") (param i32 i32 i32) (result i32))
(func $write (import "env" "write") (param i32 i32 i32) (result i32))
;; memory
(memory $mem 1)
;; constants
(data (i32.const 200) "data")
(data (i32.const 230) "Hello, world!\n")
(func $main (result i32)
;; $fd is the file descriptor of the file we're gonna open
(local $fd i32)
;; $fd = $open("data", O_CREAT|O_RDWR);
(set_local $fd
(call $open
;; pointer to the file name
(i32.const 200)
;; flags, 42 for O_CREAT,O_RDWR
(i32.const 42)))
;; $write($fd, "Hello, World!\n", 14);
(call $write
(get_local $fd)
(i32.const 230)
(i32.const 14))
(drop)
;; $close($fd);
(call $close
(get_local $fd))
(drop)
(i32.const 0))
(export "main" (func $main)))