Rev 940 | Rev 1276 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 940 | Rev 1055 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 940 $ |
8 | $Revision: 1055 $ |
9 | 9 | ||
10 | ; Old style system call converter |
10 | ; Old style system call converter |
11 | align 16 |
11 | align 16 |
12 | cross_order: |
12 | cross_order: |
13 | ; load all registers in crossed order |
13 | ; load all registers in crossed order |
14 | mov eax, ebx |
14 | mov eax, ebx |
15 | mov ebx, ecx |
15 | mov ebx, ecx |
16 | mov ecx, edx |
16 | mov ecx, edx |
17 | mov edx, esi |
17 | mov edx, esi |
18 | mov esi, edi |
- | |
19 | mov edi, [esp+28 + 4] |
18 | mov esi, edi |
20 | and edi,0xff |
19 | movzx edi, byte[esp+28 + 4] |
Line 21... | Line 20... | ||
21 | call dword [servetable+edi*4] |
20 | call dword [servetable+edi*4] |
22 | ret |
21 | ret |
23 | - | ||
24 | - | ||
25 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
26 | ;; ;; |
- | |
27 | ;; SYSTEM CALL ENTRY ;; |
- | |
28 | ;; ;; |
- | |
29 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
30 | - | ||
31 | - | ||
32 | align 16 |
- | |
33 | i40: |
- | |
34 | pushad |
- | |
35 | cld |
- | |
36 | movzx eax, al |
- | |
37 | call dword [servetable2 + eax * 4] |
- | |
38 | popad |
22 | |
39 | iretd |
23 | |
40 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
24 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 41... | Line 25... | ||
41 | ;; ;; |
25 | ;; ;; |
Line 68... | Line 52... | ||
68 | pop edx |
52 | pop edx |
69 | sysexit |
53 | sysexit |
Line 70... | Line 54... | ||
70 | 54 | ||
71 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
55 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | 56 | ;; ;; |
|
- | 57 | ;; SYSTEM CALL ENTRY ;; |
|
- | 58 | ;; ;; |
|
- | 59 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
- | 60 | ||
- | 61 | align 16 |
|
- | 62 | i40: |
|
- | 63 | pushad |
|
- | 64 | cld |
|
- | 65 | movzx eax, al |
|
- | 66 | call dword [servetable2 + eax * 4] |
|
- | 67 | popad |
|
- | 68 | iretd |
|
- | 69 | ||
- | 70 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
72 | ;; ;; |
71 | ;; ;; |
73 | ;; SYSCALL ENTRY ;; |
72 | ;; SYSCALL ENTRY ;; |
74 | ;; ;; |
73 | ;; ;; |
75 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
74 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
76 | align 32 |
75 | align 32 |
Line 93... | Line 92... | ||
93 | popad |
92 | popad |
94 | ;------------------ |
93 | ;------------------ |
95 | mov ecx, [ss:esp+4] |
94 | mov ecx, [ss:esp+4] |
96 | pop esp |
95 | pop esp |
97 | sysret |
96 | sysret |
- | 97 | ||
98 | iglobal |
98 | iglobal |
99 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
99 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
100 | ;; SYSTEM FUNCTIONS TABLE ;; |
100 | ;; SYSTEM FUNCTIONS TABLE ;; |
101 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
101 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 173... | Line 173... | ||
173 | dd sys_window_move ; 67-Window move or resize |
173 | dd sys_window_move ; 67-Window move or resize |
174 | dd f68 ; 68-Some internal services |
174 | dd f68 ; 68-Some internal services |
175 | dd sys_debug_services ; 69-Debug |
175 | dd sys_debug_services ; 69-Debug |
176 | dd file_system_lfn ; 70-Common file system interface, version 2 |
176 | dd file_system_lfn ; 70-Common file system interface, version 2 |
177 | dd syscall_windowsettings ; 71-Window settings |
177 | dd syscall_windowsettings ; 71-Window settings |
178 | dd sys_sendwindowmsg ; 72-Send window message |
- | |
Line 179... | Line 178... | ||
179 | 178 | ||
180 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
179 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
181 | ;; NEW SYSTEM FUNCTIONS TABLE ;; |
180 | ;; NEW SYSTEM FUNCTIONS TABLE ;; |
182 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
181 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 253... | Line 252... | ||
253 | dd cross_order ; 67-Window move or resize |
252 | dd cross_order ; 67-Window move or resize |
254 | dd cross_order ; 68-Some internal services |
253 | dd cross_order ; 68-Some internal services |
255 | dd cross_order ; 69-Debug |
254 | dd cross_order ; 69-Debug |
256 | dd cross_order ; 70-Common file system interface, version 2 |
255 | dd cross_order ; 70-Common file system interface, version 2 |
257 | dd cross_order ; 71-Window settings |
256 | dd cross_order ; 71-Window settings |
258 | dd cross_order ; 72-Send window message |
257 | dd sys_sendwindowmsg ; 72-Send window message |
259 | times 255 - ( ($-servetable2) /4 ) dd undefined_syscall |
258 | times 255 - ( ($-servetable2) /4 ) dd undefined_syscall |
260 | dd sys_end ; -1-end application |
259 | dd sys_end ; -1-end application |
Line 261... | Line 260... | ||
261 | 260 |