annotate dyncall/dyncall_call_x64_generic_masm.asm @ 341:ab2d78e48ca2

- gen-masm . fallback on clang if gcc not available . consolidated use of redundant scripts . regen of portasm based masm files - minor symbol name changes for clarity/consistency
author Tassilo Philipp
date Sat, 04 Jan 2020 23:00:02 +0100
parents 3e629dc19168
children 71c884e610f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 ; auto-generated by gen-masm.sh
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 .CODE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 dcCall_x64_sysv PROC
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 OPTION PROLOGUE:NONE, EPILOGUE:NONE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 push RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 push RBX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 mov RBP,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 mov RBX,R8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 movsd XMM0,qword ptr [RCX+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 movsd XMM1,qword ptr [RCX+8]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 movsd XMM2,qword ptr [RCX+16]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 movsd XMM3,qword ptr [RCX+24]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 movsd XMM4,qword ptr [RCX+32]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 movsd XMM5,qword ptr [RCX+40]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 movsd XMM6,qword ptr [RCX+48]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 movsd XMM7,qword ptr [RCX+56]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 add RDI,31
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 and RDI,-32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 add RDI,8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 sub RSP,RDI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 mov RCX,RDI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 mov RDI,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 rep movsb
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 mov RDI,qword ptr [RDX+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 mov RSI,qword ptr [RDX+8]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 mov RCX,qword ptr [RDX+24]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 mov R8,qword ptr [RDX+32]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 mov R9,qword ptr [RDX+40]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 mov RDX,qword ptr [RDX+16]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 mov AL,8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 call RBX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 mov RSP,RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 pop RBX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 pop RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 ret
341
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
36 dcCall_x64_sysv ENDP
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 dcCall_x64_win64 PROC
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 OPTION PROLOGUE:NONE, EPILOGUE:NONE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 push RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 push RSI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 push RDI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 mov RBP,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 add RCX,15
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 and RCX,-16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 sub RSP,RCX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 mov RSI,RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 mov RDI,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 mov RAX,R9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 rep movsb
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 mov RCX,qword ptr [R8+0]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 mov RDX,qword ptr [R8+8]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 mov R9,qword ptr [R8+24]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 mov R8,qword ptr [R8+16]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 movd XMM0,RCX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 movd XMM1,RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 movd XMM2,R8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 movd XMM3,R9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 push R9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 push R8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 push RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 push RCX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 call RAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 mov RSP,RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 pop RDI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 pop RSI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 pop RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 ret
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 dcCall_x64_win64 ENDP
341
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
69 dcCall_x64_syscall_sysv PROC
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
70 OPTION PROLOGUE:NONE, EPILOGUE:NONE
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
71 mov RAX,RSI
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
72 mov R9,qword ptr [RDI+40]
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
73 mov R8,qword ptr [RDI+32]
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
74 mov R10,qword ptr [RDI+24]
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
75 mov RDX,qword ptr [RDI+16]
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
76 mov RSI,qword ptr [RDI+8]
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
77 mov RDI,qword ptr [RDI+0]
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
78 SYSCALL
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
79 ret
ab2d78e48ca2 - gen-masm
Tassilo Philipp
parents: 0
diff changeset
80 dcCall_x64_syscall_sysv ENDP
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 END