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