Mercurial > pub > dyncall > dyncall
comparison test/gen-masm/call_x86.masm @ 0:3e629dc19168
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:24:28 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:3e629dc19168 |
---|---|
1 .386 | |
2 .MODEL FLAT | |
3 .CODE | |
4 | |
5 _dcCall_x86_cdecl PROC | |
6 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
7 push ebp | |
8 mov ebp, esp | |
9 push esi | |
10 push edi | |
11 mov esi, dword ptr[ebp+12] | |
12 mov ecx, dword ptr[ebp+16] | |
13 sub esp, ecx | |
14 mov edi, esp | |
15 shr ecx, 2 | |
16 rep movsd | |
17 call dword ptr[ebp+8] | |
18 add esp, dword ptr[ebp+16] | |
19 pop edi | |
20 pop esi | |
21 mov esp, ebp | |
22 pop ebp | |
23 ret | |
24 _dcCall_x86_cdecl ENDP | |
25 _dcCall_x86_win32_msthis PROC | |
26 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
27 push ebp | |
28 mov ebp, esp | |
29 push esi | |
30 push edi | |
31 mov esi, dword ptr [ebp+12] | |
32 mov ecx, dword ptr [ebp+16] | |
33 mov eax, dword ptr [esi+0] | |
34 add esi, 4 | |
35 sub ecx, 4 | |
36 sub esp, ecx | |
37 mov edi, esp | |
38 rep movsb | |
39 mov ecx, eax | |
40 call dword ptr[ebp+8] | |
41 pop edi | |
42 pop esi | |
43 mov esp, ebp | |
44 pop ebp | |
45 ret | |
46 _dcCall_x86_win32_msthis ENDP | |
47 _dcCall_x86_win32_std PROC | |
48 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
49 push ebp | |
50 mov ebp, esp | |
51 push esi | |
52 push edi | |
53 mov esi, dword ptr[ebp+12] | |
54 mov ecx, dword ptr[ebp+16] | |
55 sub esp, ecx | |
56 mov edi, esp | |
57 rep movsb | |
58 call dword ptr[ebp+8] | |
59 pop edi | |
60 pop esi | |
61 mov esp, ebp | |
62 pop ebp | |
63 ret | |
64 _dcCall_x86_win32_std ENDP | |
65 _dcCall_x86_win32_fast PROC | |
66 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
67 push ebp | |
68 mov ebp, esp | |
69 push esi | |
70 push edi | |
71 mov esi, dword ptr[ebp+12] | |
72 mov ecx, dword ptr[ebp+16] | |
73 mov eax, dword ptr[esi+0] | |
74 mov edx, dword ptr[esi+4] | |
75 add esi, 8 | |
76 sub ecx, 8 | |
77 mov dword ptr [ebp+16], ecx | |
78 sub esp, ecx | |
79 mov edi, esp | |
80 rep movsb | |
81 mov ecx, eax | |
82 call dword ptr[ebp+8] | |
83 pop edi | |
84 pop esi | |
85 mov esp, ebp | |
86 pop ebp | |
87 ret | |
88 _dcCall_x86_win32_fast ENDP | |
89 _dcCall_x86_sys_int80h_linux PROC | |
90 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
91 push ebp | |
92 mov ebp, esp | |
93 push ebx | |
94 push esi | |
95 push edi | |
96 mov eax, dword ptr[ebp+12] | |
97 mov ebx, dword ptr[eax+0] | |
98 mov ecx, dword ptr[eax+4] | |
99 mov edx, dword ptr[eax+8] | |
100 mov esi, dword ptr[eax+12] | |
101 mov edi, dword ptr[eax+16] | |
102 mov eax, dword ptr[ebp+8] | |
103 int 80h | |
104 pop edi | |
105 pop esi | |
106 pop ebx | |
107 mov esp, ebp | |
108 pop ebp | |
109 ret | |
110 _dcCall_x86_sys_int80h_linux ENDP | |
111 _dcCall_x86_sys_int80h_bsd PROC | |
112 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
113 push ebp | |
114 mov ebp, esp | |
115 push esi | |
116 push edi | |
117 mov esi, dword ptr[ebp+12] | |
118 mov ecx, dword ptr[ebp+16] | |
119 sub esp, ecx | |
120 mov edi, esp | |
121 shr ecx, 2 | |
122 rep movsd | |
123 mov eax, dword ptr[ebp+8] | |
124 call _do_int | |
125 pop edi | |
126 pop esi | |
127 mov esp, ebp | |
128 pop ebp | |
129 ret | |
130 _do_int: | |
131 int 80h | |
132 ret | |
133 _dcCall_x86_sys_int80h_bsd ENDP | |
134 END |