comparison dyncallback/dyncall_callback_x64_masm.asm @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
children 71c884e610f0
comparison
equal deleted inserted replaced
-1:000000000000 0:3e629dc19168
1 ; auto-generated by gen-masm.sh
2 .CODE
3 DCThunk_size = 24
4 DCArgs_size_win64 = 80
5 DCArgs_size_sysv = 128
6 DCValue_size = 8
7 FRAME_arg0_win64 = 48
8 FRAME_arg0_sysv = 16
9 FRAME_return = 8
10 FRAME_parent = 0
11 FRAME_DCArgs_sysv = -128
12 FRAME_DCValue_sysv = -136
13 FRAME_DCArgs_win64 = -80
14 FRAME_DCValue_win64 = -80
15 CTX_thunk = 0
16 CTX_handler = 24
17 CTX_userdata = 32
18 DCCallback_size = 40
19 dcCallback_x64_sysv PROC
20 OPTION PROLOGUE:NONE, EPILOGUE:NONE
21 push RBP
22 mov RBP,RSP
23 sub RSP,8*8
24 movsd qword ptr [RSP+8*7],XMM7
25 movsd qword ptr [RSP+8*6],XMM6
26 movsd qword ptr [RSP+8*5],XMM5
27 movsd qword ptr [RSP+8*4],XMM4
28 movsd qword ptr [RSP+8*3],XMM3
29 movsd qword ptr [RSP+8*2],XMM2
30 movsd qword ptr [RSP+8*1],XMM1
31 movsd qword ptr [RSP+8*0],XMM0
32 push R9
33 push R8
34 push RCX
35 push RDX
36 push RSI
37 push RDI
38 push 0
39 lea RDX,qword ptr [RBP+FRAME_arg0_sysv]
40 push RDX
41 mov RSI,RSP
42 push 0
43 mov RDI,RAX
44 mov RCX,qword ptr [RDI+CTX_userdata]
45 mov RDX,RSP
46 push 0
47 call qword ptr [RAX+CTX_handler]
48 mov RAX,qword ptr [RBP+FRAME_DCValue_sysv]
49 movd XMM0,RAX
50 mov RSP,RBP
51 pop RBP
52 ret
53 dcCallback_x64_sysv ENDP
54 dcCallback_x64_win64 PROC
55 OPTION PROLOGUE:NONE, EPILOGUE:NONE
56 push RBP
57 mov RBP,RSP
58 sub RSP,4*8
59 movsd qword ptr [RSP+8*3],XMM3
60 movsd qword ptr [RSP+8*2],XMM2
61 movsd qword ptr [RSP+8*1],XMM1
62 movsd qword ptr [RSP+8*0],XMM0
63 push R9
64 push R8
65 push RDX
66 push RCX
67 push 0
68 lea RDX,qword ptr [RBP+FRAME_arg0_win64]
69 push RDX
70 mov RDX,RSP
71 mov RCX,RAX
72 mov R9,qword ptr [RAX+CTX_userdata]
73 mov R8,RSP
74 sub RSP,4*8
75 call qword ptr [RAX+CTX_handler]
76 mov RAX,qword ptr [RBP+FRAME_DCValue_win64]
77 movd XMM0,RAX
78 mov RSP,RBP
79 pop RBP
80 ret
81 dcCallback_x64_win64 ENDP
82 END