Subversion Repositories Kolibri OS

Rev

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