Mercurial > pub > dyncall > dyncall
comparison dyncallback/dyncall_callback_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 |
comparison
equal
deleted
inserted
replaced
370:fa78490381f3 | 371:451299d50c1a |
---|---|
1 AREA .text, CODE, ARM64 | |
2 EXPORT dcCallbackThunkEntry | |
3 dcCallbackThunkEntry PROC | |
4 mov x10, sp | |
5 stp x29, x30, [sp, #-208 ]! | |
6 mov x29, sp | |
7 add x11, x29 , #16 | |
8 stp x0, x1, [x11, #0 ] | |
9 stp x2, x3, [x11, #16] | |
10 stp x4, x5, [x11, #32] | |
11 stp x6, x7, [x11, #48] | |
12 stp d0, d1, [x11, #64] | |
13 stp d2, d3, [x11, #80] | |
14 stp d4, d5, [x11, #96] | |
15 stp d6, d7, [x11, #112] | |
16 eor x12, x12, x12 | |
17 stp x10,x12,[x11, #128] | |
18 str x12, [x11, #144] | |
19 mov x0 , x9 | |
20 add x1 , x29 , #16 | |
21 add x2 , x29 , #184 | |
22 ldr x3 , [x9 , #40] | |
23 ldr x11, [x9 , #32] | |
24 blr x11 | |
25 and w0, w0, #255 | |
26 cmp w0, 'f' | |
27 b.eq dcCall_arm64_retf | |
28 cmp w0, 'd' | |
29 b.eq dcCall_arm64_retf | |
30 dcCall_arm64_reti | |
31 ldr x0, [x29, #184] | |
32 b dcCall_arm64_ret | |
33 dcCall_arm64_retf | |
34 ldr d0, [x29, #184] | |
35 dcCall_arm64_ret | |
36 ldp x29, x30, [sp], #208 | |
37 ret | |
38 ENDP | |
39 END |