Rev 587 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 587 | Rev 1937 | ||
---|---|---|---|
Line 191... | Line 191... | ||
191 | 191 | ||
Line 192... | Line 192... | ||
192 | __CPU_type equ p5 |
192 | __CPU_type equ p5 |
193 | SYSENTER_VAR equ 0 |
193 | SYSENTER_VAR equ 0 |
Line 194... | Line 194... | ||
194 | 194 | ||
195 | macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls |
- | |
196 | local ..ret_point |
195 | macro mcall a,b,c,d,e,f { ; mike.dld |
197 | __mov eax,a |
196 | __mov eax,a |
198 | __mov ebx,b |
197 | __mov ebx,b |
199 | __mov ecx,c |
198 | __mov ecx,c |
200 | __mov edx,d |
199 | __mov edx,d |
201 | __mov esi,e |
200 | __mov esi,e |
Line 202... | Line -... | ||
202 | __mov edi,f |
- | |
203 | 201 | __mov edi,f |
|
204 | if __CPU_type eq p5 |
- | |
205 | int 0x40 |
- | |
206 | else |
- | |
207 | if __CPU_type eq p6 |
- | |
208 | push ebp |
- | |
209 | mov ebp, esp |
- | |
210 | push ..ret_point ; it may be 2 or 5 byte |
- | |
211 | sysenter |
- | |
212 | ..ret_point: |
- | |
213 | pop edx |
- | |
214 | pop ecx |
- | |
215 | - | ||
216 | else |
- | |
217 | if __CPU_type eq k6 |
- | |
218 | push ecx |
- | |
219 | syscall |
- | |
220 | pop ecx |
- | |
221 | else |
- | |
222 | display 'ERROR : unknown CPU type' |
- | |
223 | int 0x40 |
- | |
224 | end if |
- | |
225 | end if |
202 |