Rev 1105 | Rev 1276 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1105 | Rev 1275 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2008. 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: 1105 $ |
8 | $Revision: 1275 $ |
9 | 9 | ||
Line 165... | Line 165... | ||
165 | and edx, -4096 |
165 | and edx, -4096 |
166 | or edx, [flags] |
166 | or edx, [flags] |
167 | @@: |
167 | @@: |
168 | mov [page_tabs+eax*4], edx |
168 | mov [page_tabs+eax*4], edx |
169 | ; push eax |
169 | ; push eax |
170 | ; invlpg [ebx] |
170 | invlpg [ebx] |
171 | ; pop eax |
171 | ; pop eax |
172 | inc eax |
172 | inc eax |
173 | add ebx, edi |
173 | add ebx, edi |
174 | add edx, edi |
174 | add edx, edi |
175 | loop @B |
175 | loop @B |
Line 203... | Line 203... | ||
203 | mov ebx, edi |
203 | mov ebx, edi |
204 | shr ebx, 12 |
204 | shr ebx, 12 |
205 | @@: |
205 | @@: |
206 | mov [page_tabs+ebx*4], eax |
206 | mov [page_tabs+ebx*4], eax |
207 | ; push eax |
207 | ; push eax |
208 | ; invlpg [edi] |
208 | invlpg [edi] |
209 | ; pop eax |
209 | ; pop eax |
210 | add edi, edx |
210 | add edi, edx |
211 | add eax, edx |
211 | add eax, edx |
212 | inc ebx |
212 | inc ebx |
213 | dec ecx |
213 | dec ecx |
Line 989... | Line 989... | ||
989 | mov dword [esp+32], -1 |
989 | mov dword [esp+32], -1 |
990 | ret |
990 | ret |
Line 991... | Line 991... | ||
991 | 991 | ||
992 | align 4 |
992 | align 4 |
993 | f68call: |
993 | f68call: |
994 | dd f68.11 |
994 | dd f68.11 ; init_heap |
995 | dd f68.12 |
995 | dd f68.12 ; user_alloc |
996 | dd f68.13 |
996 | dd f68.13 ; user_free |
997 | dd f68.14 |
997 | dd f68.14 ; get_event_ex |
998 | dd f68.fail ;moved to f68.24 |
998 | dd f68.fail ;moved to f68.24 |
999 | dd f68.16 |
999 | dd f68.16 ; get_service |
1000 | dd f68.17 |
1000 | dd f68.17 ; call_service |
1001 | dd f68.fail ;moved to f68.25 |
1001 | dd f68.fail ;moved to f68.25 |
1002 | dd f68.19 |
1002 | dd f68.19 ; load_dll |
1003 | dd f68.20 |
1003 | dd f68.20 ; user_realloc |
1004 | dd f68.21 |
1004 | dd f68.21 ; load_driver |
1005 | dd f68.22 |
1005 | dd f68.22 ; shmem_open |
1006 | dd f68.23 |
1006 | dd f68.23 ; shmem_close |
1007 | dd f68.24 |
1007 | dd f68.24 |
Line 1008... | Line 1008... | ||
1008 | dd f68.25 |
1008 | dd f68.25 |
1009 | 1009 | ||
Line 1036... | Line 1036... | ||
1036 | jae .fail |
1036 | jae .fail |
1037 | mov edi,ebx |
1037 | mov edi,ebx |
1038 | call get_event_ex |
1038 | call get_event_ex |
1039 | mov [esp+36], eax |
1039 | mov [esp+36], eax |
1040 | ret |
1040 | ret |
1041 | .24: |
- | |
1042 | mov eax, [current_slot] |
- | |
1043 | xchg ebx, [eax+APPDATA.exc_handler] |
- | |
1044 | xchg ecx, [eax+APPDATA.except_mask] |
- | |
1045 | mov [esp+36], ebx ; reg_eax+8 |
- | |
1046 | mov [esp+24], ecx ; reg_ebx+8 |
- | |
1047 | ret |
- | |
1048 | .16: |
1041 | .16: |
1049 | test ebx, ebx |
1042 | test ebx, ebx |
1050 | jz .fail |
1043 | jz .fail |
1051 | cmp ebx, OS_BASE |
1044 | cmp ebx, OS_BASE |
1052 | jae .fail |
1045 | jae .fail |
Line 1055... | Line 1048... | ||
1055 | ret |
1048 | ret |
1056 | .17: |
1049 | .17: |
1057 | call srv_handlerEx ;ebx |
1050 | call srv_handlerEx ;ebx |
1058 | mov [esp+36], eax |
1051 | mov [esp+36], eax |
1059 | ret |
1052 | ret |
1060 | .25: |
- | |
1061 | cmp ebx,32 |
- | |
1062 | jae .fail |
- | |
1063 | mov eax, [current_slot] |
- | |
1064 | btr [eax+APPDATA.except_mask],ebx |
- | |
1065 | setc byte[esp+36] |
- | |
1066 | jecxz @f |
- | |
1067 | bts [eax+APPDATA.except_mask],ebx |
- | |
1068 | @@: ret |
- | |
1069 | .19: |
1053 | .19: |
1070 | cmp ebx, OS_BASE |
1054 | cmp ebx, OS_BASE |
1071 | jae .fail |
1055 | jae .fail |
1072 | stdcall load_library, ebx |
1056 | stdcall load_library, ebx |
1073 | mov [esp+36], eax |
1057 | mov [esp+36], eax |
Line 1111... | Line 1095... | ||
1111 | jae .fail |
1095 | jae .fail |
Line 1112... | Line 1096... | ||
1112 | 1096 | ||
1113 | stdcall shmem_close, ebx |
1097 | stdcall shmem_close, ebx |
1114 | mov [esp+36], eax |
1098 | mov [esp+36], eax |
- | 1099 | ret |
|
- | 1100 | .24: |
|
- | 1101 | mov eax, [current_slot] |
|
- | 1102 | xchg ebx, [eax+APPDATA.exc_handler] |
|
- | 1103 | xchg ecx, [eax+APPDATA.except_mask] |
|
- | 1104 | mov [esp+36], ebx ; reg_eax+8 |
|
- | 1105 | mov [esp+24], ecx ; reg_ebx+8 |
|
- | 1106 | ret |
|
- | 1107 | .25: |
|
- | 1108 | cmp ebx,32 |
|
- | 1109 | jae .fail |
|
- | 1110 | mov eax, [current_slot] |
|
- | 1111 | btr [eax+APPDATA.except_mask],ebx |
|
- | 1112 | setc byte[esp+36] |
|
- | 1113 | jecxz @f |
|
- | 1114 | bts [eax+APPDATA.except_mask],ebx |
|
- | 1115 | @@: |
|
Line 1115... | Line 1116... | ||
1115 | ret |
1116 | ret |
1116 | 1117 | ||
1117 | .fail: |
1118 | .fail: |
1118 | xor eax, eax |
1119 | xor eax, eax |