Skip to content

Instantly share code, notes, and snippets.

@pepyakin
Created January 12, 2018 20:46
Show Gist options
  • Save pepyakin/339cae837b6a424c8e0e667a9748b42c to your computer and use it in GitHub Desktop.
Save pepyakin/339cae837b6a424c8e0e667a9748b42c to your computer and use it in GitHub Desktop.
(module
(type $FUNCSIG$vi (func (param i32)))
(import "env" "exit" (func $exit (param i32)))
(table 0 anyfunc)
(memory $0 17)
(data (i32.const 4) " \00\10\00")
(data (i32.const 12) "\00\00\00\00")
(export "memory" (memory $0))
(export "f" (func $f))
(export "main" (func $main))
(func $f (; 1 ;) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
(local $11 i32)
(local $12 i32)
(local $13 i32)
(local $14 i32)
(local $15 i32)
(local $16 i32)
(local $17 i32)
(local $18 i32)
(local $19 i32)
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
(local $24 i32)
(local $25 i32)
(local $26 i32)
(local $27 i32)
(local $28 i32)
(local $29 i32)
(set_local $27
(i32.const 0)
)
(set_local $26
(i32.load offset=4
(get_local $27)
)
)
(set_local $28
(i32.const 16)
)
(set_local $29
(i32.sub
(get_local $26)
(get_local $28)
)
)
(i32.store offset=4
(get_local $29)
(get_local $0)
)
(block $label$0
(loop $label$1
(set_local $7
(i32.const 0)
)
(set_local $8
(i32.load offset=12
(get_local $7)
)
)
(set_local $6
(i32.load offset=4
(get_local $29)
)
)
(set_local $5
(i32.load
(get_local $6)
)
)
(set_local $2
(get_local $8)
)
(set_local $3
(get_local $5)
)
(set_local $4
(i32.lt_s
(get_local $2)
(get_local $3)
)
)
(set_local $1
(get_local $4)
)
(br_if $label$0
(i32.eqz
(get_local $1)
)
)
(set_local $10
(i32.const 0)
)
(i32.store
(get_local $29)
(get_local $10)
)
(block $label$2
(loop $label$3
(set_local $17
(i32.load
(get_local $29)
)
)
(set_local $16
(i32.load offset=4
(get_local $29)
)
)
(set_local $15
(i32.load
(get_local $16)
)
)
(set_local $12
(get_local $17)
)
(set_local $13
(get_local $15)
)
(set_local $14
(i32.lt_s
(get_local $12)
(get_local $13)
)
)
(set_local $11
(get_local $14)
)
(br_if $label$2
(i32.eqz
(get_local $11)
)
)
(set_local $25
(i32.load
(get_local $29)
)
)
(set_local $23
(i32.const 1)
)
(set_local $24
(i32.add
(get_local $25)
(get_local $23)
)
)
(i32.store
(get_local $29)
(get_local $24)
)
(br $label$3)
)
)
(set_local $21
(i32.const 0)
)
(set_local $22
(i32.load offset=12
(get_local $21)
)
)
(set_local $19
(i32.const 1)
)
(set_local $20
(i32.add
(get_local $22)
(get_local $19)
)
)
(set_local $18
(i32.const 0)
)
(i32.store offset=12
(get_local $18)
(get_local $20)
)
(br $label$1)
)
)
(set_local $9
(i32.load offset=8
(get_local $29)
)
)
(return
(get_local $9)
)
)
(func $main (; 2 ;) (result i32)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(set_local $6
(i32.const 0)
)
(set_local $5
(i32.load offset=4
(get_local $6)
)
)
(set_local $7
(i32.const 16)
)
(set_local $9
(i32.sub
(get_local $5)
(get_local $7)
)
)
(set_local $8
(i32.const 0)
)
(i32.store offset=4
(get_local $8)
(get_local $9)
)
(set_local $0
(i32.const 0)
)
(set_local $2
(i32.const 16)
)
(set_local $4
(i32.const 235)
)
(i32.store offset=12
(get_local $9)
(get_local $0)
)
(set_local $3
(i32.const 0)
)
(i32.store offset=16
(get_local $3)
(get_local $4)
)
(set_local $1
(call $f
(get_local $2)
)
)
(i32.store offset=8
(get_local $9)
(get_local $1)
)
(call $exit
(get_local $0)
)
(unreachable)
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment