Mercurial > pub > dyncall > dyncall
diff dyncall/dyncall_call_arm64_masm.asm @ 371:451299d50c1a
- windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
- minor cleanups
author | Tassilo Philipp |
---|---|
date | Fri, 25 Dec 2020 18:07:39 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dyncall/dyncall_call_arm64_masm.asm Fri Dec 25 18:07:39 2020 +0100 @@ -0,0 +1,42 @@ +; auto-generated by gen-masm.sh + AREA .text, CODE, ARM64 + EXPORT dcCall_arm64 +dcCall_arm64 PROC + stp x29, x30, [sp, #-16]! + mov x29, sp + ldr d0, [x3,#0 ] + ldr d1, [x3,#8 ] + ldr d2, [x3,#16] + ldr d3, [x3,#24] + ldr d4, [x3,#32] + ldr d5, [x3,#40] + ldr d6, [x3,#48] + ldr d7, [x3,#56] + sub sp, sp, x2 + eor x4, x4, x4 + mov x5, x1 + mov x6, sp +dcCall_arm64_next + cmp x4, x2 + b.ge dcCall_arm64_done + ldp x7, x9, [x5], #16 + stp x7, x9, [x6], #16 + add x4, x4, 16 + b dcCall_arm64_next +dcCall_arm64_done + mov x9 , x0 + add x10, x3, 64 + ldr x0, [x10, #0] + ldr x1, [x10, #8] + ldr x2, [x10, #16] + ldr x3, [x10, #24] + ldr x4, [x10, #32] + ldr x5, [x10, #40] + ldr x6, [x10, #48] + ldr x7, [x10, #56] + blr x9 + mov sp, x29 + ldp x29, x30, [sp], 16 + ret + ENDP + END