Mercurial > pub > dyncall > dyncall
diff dyncall/dyncall_call_x86_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_x86_generic_masm.asm Thu Mar 19 22:24:28 2015 +0100 @@ -0,0 +1,136 @@ +; auto-generated by gen-masm.sh +.386 +.MODEL FLAT +.CODE + +_dcCall_x86_cdecl PROC +OPTION PROLOGUE:NONE, EPILOGUE:NONE + push EBP + mov EBP,ESP + push ESI + push EDI + mov ESI,dword ptr [EBP+12] + mov ECX,dword ptr [EBP+16] + add ECX,15 + and ECX,-16 + mov dword ptr [EBP+16],ECX + sub ESP,ECX + mov EDI,ESP + rep movsb + call dword ptr [EBP+8] + add ESP,dword ptr [EBP+16] + pop EDI + pop ESI + mov ESP,EBP + pop EBP + ret +_dcCall_x86_cdecl ENDP +_dcCall_x86_win32_msthis PROC +OPTION PROLOGUE:NONE, EPILOGUE:NONE + push EBP + mov EBP,ESP + push ESI + push EDI + mov ESI,dword ptr [EBP+12] + mov ECX,dword ptr [EBP+16] + mov EAX,dword ptr [ESI+0] + add ESI,4 + sub ECX,4 + sub ESP,ECX + mov EDI,ESP + rep movsb + mov ECX,EAX + call dword ptr [EBP+8] + pop EDI + pop ESI + mov ESP,EBP + pop EBP + ret +_dcCall_x86_win32_msthis ENDP +_dcCall_x86_win32_std PROC +OPTION PROLOGUE:NONE, EPILOGUE:NONE + push EBP + mov EBP,ESP + push ESI + push EDI + mov ESI,dword ptr [EBP+12] + mov ECX,dword ptr [EBP+16] + sub ESP,ECX + mov EDI,ESP + rep movsb + call dword ptr [EBP+8] + pop EDI + pop ESI + mov ESP,EBP + pop EBP + ret +_dcCall_x86_win32_std ENDP +_dcCall_x86_win32_fast PROC +OPTION PROLOGUE:NONE, EPILOGUE:NONE + push EBP + mov EBP,ESP + push ESI + push EDI + mov ESI,dword ptr [EBP+12] + mov ECX,dword ptr [EBP+16] + mov EAX,dword ptr [ESI+0] + mov EDX,dword ptr [ESI+4] + add ESI,8 + sub ECX,8 + mov dword ptr [EBP+16],ECX + sub ESP,ECX + mov EDI,ESP + rep movsb + mov ECX,EAX + call dword ptr [EBP+8] + pop EDI + pop ESI + mov ESP,EBP + pop EBP + ret +_dcCall_x86_win32_fast ENDP +_dcCall_x86_sys_int80h_linux PROC +OPTION PROLOGUE:NONE, EPILOGUE:NONE + push EBP + mov EBP,ESP + push EBX + push ESI + push EDI + mov EAX,dword ptr [EBP+12] + mov EBX,dword ptr [EAX+0] + mov ECX,dword ptr [EAX+4] + mov EDX,dword ptr [EAX+8] + mov ESI,dword ptr [EAX+12] + mov EDI,dword ptr [EAX+16] + mov EAX,dword ptr [EBP+8] + int 80h + pop EDI + pop ESI + pop EBX + mov ESP,EBP + pop EBP + ret +_dcCall_x86_sys_int80h_linux ENDP +_dcCall_x86_sys_int80h_bsd PROC +OPTION PROLOGUE:NONE, EPILOGUE:NONE + push EBP + mov EBP,ESP + push ESI + push EDI + mov ESI,dword ptr [EBP+12] + mov ECX,dword ptr [EBP+16] + sub ESP,ECX + mov EDI,ESP + rep movsb + mov EAX,dword ptr [EBP+8] + call _do_int + pop EDI + pop ESI + mov ESP,EBP + pop EBP + ret +_do_int: + int 80h + ret +_dcCall_x86_sys_int80h_bsd ENDP +END