Mercurial > pub > dyncall > dyncall
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:3e629dc19168 |
---|---|
1 ; auto-generated by gen-masm.sh | |
2 .386 | |
3 .MODEL FLAT | |
4 .CODE | |
5 | |
6 _dcCall_x86_cdecl PROC | |
7 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
8 push EBP | |
9 mov EBP,ESP | |
10 push ESI | |
11 push EDI | |
12 mov ESI,dword ptr [EBP+12] | |
13 mov ECX,dword ptr [EBP+16] | |
14 add ECX,15 | |
15 and ECX,-16 | |
16 mov dword ptr [EBP+16],ECX | |
17 sub ESP,ECX | |
18 mov EDI,ESP | |
19 rep movsb | |
20 call dword ptr [EBP+8] | |
21 add ESP,dword ptr [EBP+16] | |
22 pop EDI | |
23 pop ESI | |
24 mov ESP,EBP | |
25 pop EBP | |
26 ret | |
27 _dcCall_x86_cdecl ENDP | |
28 _dcCall_x86_win32_msthis PROC | |
29 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
30 push EBP | |
31 mov EBP,ESP | |
32 push ESI | |
33 push EDI | |
34 mov ESI,dword ptr [EBP+12] | |
35 mov ECX,dword ptr [EBP+16] | |
36 mov EAX,dword ptr [ESI+0] | |
37 add ESI,4 | |
38 sub ECX,4 | |
39 sub ESP,ECX | |
40 mov EDI,ESP | |
41 rep movsb | |
42 mov ECX,EAX | |
43 call dword ptr [EBP+8] | |
44 pop EDI | |
45 pop ESI | |
46 mov ESP,EBP | |
47 pop EBP | |
48 ret | |
49 _dcCall_x86_win32_msthis ENDP | |
50 _dcCall_x86_win32_std PROC | |
51 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
52 push EBP | |
53 mov EBP,ESP | |
54 push ESI | |
55 push EDI | |
56 mov ESI,dword ptr [EBP+12] | |
57 mov ECX,dword ptr [EBP+16] | |
58 sub ESP,ECX | |
59 mov EDI,ESP | |
60 rep movsb | |
61 call dword ptr [EBP+8] | |
62 pop EDI | |
63 pop ESI | |
64 mov ESP,EBP | |
65 pop EBP | |
66 ret | |
67 _dcCall_x86_win32_std ENDP | |
68 _dcCall_x86_win32_fast PROC | |
69 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
70 push EBP | |
71 mov EBP,ESP | |
72 push ESI | |
73 push EDI | |
74 mov ESI,dword ptr [EBP+12] | |
75 mov ECX,dword ptr [EBP+16] | |
76 mov EAX,dword ptr [ESI+0] | |
77 mov EDX,dword ptr [ESI+4] | |
78 add ESI,8 | |
79 sub ECX,8 | |
80 mov dword ptr [EBP+16],ECX | |
81 sub ESP,ECX | |
82 mov EDI,ESP | |
83 rep movsb | |
84 mov ECX,EAX | |
85 call dword ptr [EBP+8] | |
86 pop EDI | |
87 pop ESI | |
88 mov ESP,EBP | |
89 pop EBP | |
90 ret | |
91 _dcCall_x86_win32_fast ENDP | |
92 _dcCall_x86_sys_int80h_linux PROC | |
93 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
94 push EBP | |
95 mov EBP,ESP | |
96 push EBX | |
97 push ESI | |
98 push EDI | |
99 mov EAX,dword ptr [EBP+12] | |
100 mov EBX,dword ptr [EAX+0] | |
101 mov ECX,dword ptr [EAX+4] | |
102 mov EDX,dword ptr [EAX+8] | |
103 mov ESI,dword ptr [EAX+12] | |
104 mov EDI,dword ptr [EAX+16] | |
105 mov EAX,dword ptr [EBP+8] | |
106 int 80h | |
107 pop EDI | |
108 pop ESI | |
109 pop EBX | |
110 mov ESP,EBP | |
111 pop EBP | |
112 ret | |
113 _dcCall_x86_sys_int80h_linux ENDP | |
114 _dcCall_x86_sys_int80h_bsd PROC | |
115 OPTION PROLOGUE:NONE, EPILOGUE:NONE | |
116 push EBP | |
117 mov EBP,ESP | |
118 push ESI | |
119 push EDI | |
120 mov ESI,dword ptr [EBP+12] | |
121 mov ECX,dword ptr [EBP+16] | |
122 sub ESP,ECX | |
123 mov EDI,ESP | |
124 rep movsb | |
125 mov EAX,dword ptr [EBP+8] | |
126 call _do_int | |
127 pop EDI | |
128 pop ESI | |
129 mov ESP,EBP | |
130 pop EBP | |
131 ret | |
132 _do_int: | |
133 int 80h | |
134 ret | |
135 _dcCall_x86_sys_int80h_bsd ENDP | |
136 END |