Rev 3032 | Rev 3942 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3032 | Rev 3618 | ||
---|---|---|---|
Line 290... | Line 290... | ||
290 | 290 | ||
291 | include 'config.inc' |
291 | include 'config.inc' |
292 | ;__CPU_type equ p5 |
292 | ;__CPU_type equ p5 |
Line 293... | Line 293... | ||
293 | SYSENTER_VAR equ 0 |
293 | SYSENTER_VAR equ 0 |
- | 294 | ||
294 | 295 | macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls |
|
295 | macro mcall a,b,c,d,e,f { ; mike.dld |
296 | local ..ret_point |
296 | __mov eax,a |
297 | __mov eax,a |
297 | __mov ebx,b |
298 | __mov ebx,b |
298 | __mov ecx,c |
299 | __mov ecx,c |
299 | __mov edx,d |
300 | __mov edx,d |
Line -... | Line 301... | ||
- | 301 | __mov esi,e |
|
300 | __mov esi,e |
302 | __mov edi,f |
- | 303 | ||
- | 304 | if __CPU_type eq p5 |
|
- | 305 | int 0x40 |
|
- | 306 | else |
|
- | 307 | if __CPU_type eq p6 |
|
- | 308 | push ebp |
|
- | 309 | mov ebp, esp |
|
- | 310 | push ..ret_point ; it may be 2 or 5 byte |
|
- | 311 | sysenter |
|
- | 312 | ..ret_point: |
|
- | 313 | pop edx |
|
- | 314 | pop ecx |
|
- | 315 | ||
- | 316 | else |
|
- | 317 | if __CPU_type eq k6 |
|
- | 318 | push ecx |
|
- | 319 | syscall |
|
- | 320 | pop ecx |
|
- | 321 | else |
|
- | 322 | display 'ERROR : unknown CPU type (set to p5)', 10, 13 |
|
- | 323 | __CPU_type equ p5 |
|
- | 324 | int 0x40 |
|
301 | __mov edi,f |
325 | end if |
Line 302... | Line 326... | ||
302 | 326 | end if |
|
303 | int 0x40 |
327 | end if |
Line 501... | Line 525... | ||
501 | DateAccess FILEDATE |
525 | DateAccess FILEDATE |
502 | DateModify FILEDATE |
526 | DateModify FILEDATE |
503 | Size dq ? |
527 | Size dq ? |
504 | ends |
528 | ends |
Line -... | Line 529... | ||
- | 529 | ||
- | 530 | ||
- | 531 | if __CPU_type eq p5 ; CMOVcc isnt supported on the P5 |
|
- | 532 | ||
- | 533 | cmove fix cmovz |
|
- | 534 | macro cmovz reg1, reg2 { |
|
- | 535 | ||
- | 536 | local .jumpaddr |
|
- | 537 | ||
- | 538 | jnz .jumpaddr |
|
- | 539 | mov reg1, reg2 |
|
- | 540 | .jumpaddr: |
|
- | 541 | } |
|
- | 542 | ||
- | 543 | cmovne fix cmovnz |
|
- | 544 | macro cmovnz reg1, reg2 { |
|
- | 545 | ||
- | 546 | local .jumpaddr |
|
- | 547 | ||
- | 548 | jz .jumpaddr |
|
- | 549 | mov reg1, reg2 |
|
- | 550 | .jumpaddr: |
|
- | 551 | } |
|
- | 552 | ||
- | 553 | macro cmovg reg1, reg2 { |
|
- | 554 | ||
- | 555 | local .jumpaddr |
|
- | 556 | ||
- | 557 | jle .jumpaddr |
|
- | 558 | mov reg1, reg2 |
|
- | 559 | .jumpaddr: |
|
- | 560 | } |
|
- | 561 | ||
- | 562 | macro cmovl reg1, reg2 { |
|
- | 563 | ||
- | 564 | local .jumpaddr |
|
- | 565 | ||
- | 566 | jge .jumpaddr |
|
- | 567 | mov reg1, reg2 |
|
- | 568 | .jumpaddr: |
|
- | 569 | } |
|
- | 570 | ||
- | 571 | end if |
|
505 | 572 | ||
Line 506... | Line 573... | ||
506 | ; constants |
573 | ; constants |
507 | 574 | ||
508 | ; events |
575 | ; events |
Line 524... | Line 591... | ||
524 | EVM_EXIT = 1000b |
591 | EVM_EXIT = 1000b |
525 | EVM_BACKGROUND = 10000b |
592 | EVM_BACKGROUND = 10000b |
526 | EVM_MOUSE = 100000b |
593 | EVM_MOUSE = 100000b |
527 | EVM_IPC = 1000000b |
594 | EVM_IPC = 1000000b |
528 | EVM_STACK = 10000000b>>>>> |
595 | EVM_STACK = 10000000b |
- | 596 | EVM_DEBUG = 100000000b |
|
- | 597 | EVM_STACK2 = 1000000000b>>>>> |