Assemble kernel on the client #1
25
wipforth.wat
25
wipforth.wat
@@ -542,20 +542,25 @@
|
||||
call $next)
|
||||
|
||||
(func $copy (local $src i32) (local $dst i32) (local $n i32)
|
||||
call $pop local.tee $dst
|
||||
call $pop local.tee $src
|
||||
call $pop local.tee $n
|
||||
call $pop local.set $dst
|
||||
call $pop local.set $src
|
||||
call $pop local.set $n
|
||||
|
||||
block $done (param i32 i32 i32)
|
||||
loop $loop (param i32 i32 i32) (result i32 i32 i32)
|
||||
block $done
|
||||
loop $loop
|
||||
local.get $n
|
||||
i32.eqz br_if $done
|
||||
|
||||
local.get $dst
|
||||
local.get $src
|
||||
i32.load8_u i32.store8
|
||||
local.get $dst i32.const 1 i32.add local.tee $dst
|
||||
local.get $src i32.const 1 i32.add local.tee $src
|
||||
local.get $n i32.const 1 i32.sub local.tee $n
|
||||
br $loop
|
||||
|
||||
local.get $dst i32.const 1 i32.add local.set $dst
|
||||
local.get $src i32.const 1 i32.add local.set $src
|
||||
local.get $n i32.const 1 i32.sub local.set $n
|
||||
|
||||
br $loop
|
||||
end
|
||||
drop drop drop
|
||||
end
|
||||
|
||||
call $next)
|
||||
|
||||
Reference in New Issue
Block a user