diff dyncall/dyncall_call_x64_generic_masm.asm @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
children ab2d78e48ca2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dyncall/dyncall_call_x64_generic_masm.asm	Thu Mar 19 22:24:28 2015 +0100
@@ -0,0 +1,70 @@
+; auto-generated by gen-masm.sh
+.CODE
+
+dcCall_x64_sysv PROC
+OPTION PROLOGUE:NONE, EPILOGUE:NONE
+ push RBP
+ push RBX
+ mov RBP,RSP
+ mov RBX,R8
+ movsd XMM0,qword ptr [RCX+0]
+ movsd XMM1,qword ptr [RCX+8]
+ movsd XMM2,qword ptr [RCX+16]
+ movsd XMM3,qword ptr [RCX+24]
+ movsd XMM4,qword ptr [RCX+32]
+ movsd XMM5,qword ptr [RCX+40]
+ movsd XMM6,qword ptr [RCX+48]
+ movsd XMM7,qword ptr [RCX+56]
+ add RDI,31
+ and RDI,-32
+ add RDI,8
+ sub RSP,RDI
+ mov RCX,RDI
+ mov RDI,RSP
+ rep movsb
+ mov RDI,qword ptr [RDX+0]
+ mov RSI,qword ptr [RDX+8]
+ mov RCX,qword ptr [RDX+24]
+ mov R8,qword ptr [RDX+32]
+ mov R9,qword ptr [RDX+40]
+ mov RDX,qword ptr [RDX+16]
+ mov AL,8
+ call RBX
+ mov RSP,RBP
+ pop RBX
+ pop RBP
+ ret
+dcCALl_x64_sysv ENDP
+dcCall_x64_win64 PROC
+OPTION PROLOGUE:NONE, EPILOGUE:NONE
+ push RBP
+ push RSI
+ push RDI
+ mov RBP,RSP
+ add RCX,15
+ and RCX,-16
+ sub RSP,RCX
+ mov RSI,RDX
+ mov RDI,RSP
+ mov RAX,R9
+ rep movsb
+ mov RCX,qword ptr [R8+0]
+ mov RDX,qword ptr [R8+8]
+ mov R9,qword ptr [R8+24]
+ mov R8,qword ptr [R8+16]
+ movd XMM0,RCX
+ movd XMM1,RDX
+ movd XMM2,R8
+ movd XMM3,R9
+ push R9
+ push R8
+ push RDX
+ push RCX
+ call RAX
+ mov RSP,RBP
+ pop RDI
+ pop RSI
+ pop RBP
+ ret
+dcCall_x64_win64 ENDP
+END