Rev 353 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 353 | Rev 485 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | include 'check.inc' |
7 | include 'check.inc' |
8 | include 'file_sys.inc' |
8 | include 'file_sys.inc' |
9 | include 'textwork.inc' |
9 | include 'textwork.inc' |
10 | ;include 'ini.inc' |
10 | ;include 'ini.inc' |
Line -... | Line 11... | ||
- | 11 | ||
- | 12 | __CPU_type equ p5 |
|
- | 13 | SYSENTER_VAR equ 0 |
|
- | 14 | ||
11 | 15 | ||
12 | macro movr reg,val |
16 | macro movr reg,val |
13 | { |
17 | { |
14 | if val < 65536 |
18 | if val < 65536 |
15 | push val |
19 | push val |
16 | pop reg |
20 | pop reg |
17 | else |
21 | else |
18 | mov reg,val |
22 | mov reg,val |
19 | end if |
23 | end if |
Line -... | Line 24... | ||
- | 24 | } |
|
- | 25 | ||
- | 26 | macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls |
|
- | 27 | local ..ret_point |
|
- | 28 | __mov eax,a |
|
- | 29 | __mov ebx,b |
|
- | 30 | __mov ecx,c |
|
- | 31 | __mov edx,d |
|
- | 32 | __mov esi,e |
|
- | 33 | __mov edi,f |
|
- | 34 | ||
- | 35 | if __CPU_type eq p5 |
|
- | 36 | int 0x40 |
|
- | 37 | else |
|
- | 38 | if __CPU_type eq p6 |
|
- | 39 | push ebp |
|
- | 40 | mov ebp, esp |
|
- | 41 | push ..ret_point ; it may be 2 or 5 byte |
|
- | 42 | sysenter |
|
- | 43 | ..ret_point: |
|
- | 44 | pop edx |
|
- | 45 | pop ecx |
|
- | 46 | ||
- | 47 | else |
|
- | 48 | if __CPU_type eq k6 |
|
- | 49 | push ecx |
|
- | 50 | syscall |
|
- | 51 | pop ecx |
|
- | 52 | else |
|
- | 53 | display 'ERROR : unknown CPU type' |
|
- | 54 | int 0x40 |
|
- | 55 | end if |
|
- | 56 | end if |
|
- | 57 | end if |
|
- | 58 | } |
|
- | 59 | ||
- | 60 | macro __mov reg,a,b { ; mike.dld |
|
- | 61 | if (~a eq)&(~b eq) |
|
- | 62 | mpack reg,a,b |
|
- | 63 | else if (~a eq)&(b eq) |
|
- | 64 | mov reg,a |
|
- | 65 | end if |
|
- | 66 | } |
|
20 | } |
67 | |
21 | 68 | ||
22 | ;--- § £®«®¢®ª --- |
69 | ;--- § £®«®¢®ª --- |
23 | macro meos_header par_buf,cur_dir_buf |
70 | macro meos_header par_buf,cur_dir_buf |
24 | { |
71 | { |