Subversion Repositories Kolibri OS

Rev

Rev 6599 | Rev 6798 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6599 Rev 6792
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. 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: 6599 $
8
$Revision: 6792 $
9
 
9
 
Line 1099... Line 1099...
1099
 
1099
 
1100
align 4
1100
align 4
1101
f68:
1101
f68:
1102
        cmp     ebx, 4
1102
        cmp     ebx, 4
1103
        jbe     sys_sheduler
-
 
1104
 
1103
        jbe     sys_sheduler
1105
        cmp     ebx, 11
1104
        cmp     ebx, 11
1106
        jb      undefined_syscall
-
 
1107
 
1105
        jb      undefined_syscall
1108
        cmp     ebx, 27
1106
        cmp     ebx, 27
1109
        ja      undefined_syscall
-
 
-
 
1107
        ja      undefined_syscall
1110
 
1108
        xor     eax, eax
1111
        jmp     dword [f68call+ebx*4-11*4]
1109
        jmp     dword [f68call+ebx*4-11*4]
1112
.11:
1110
.11:
1113
        call    init_heap
1111
        call    init_heap
1114
        mov     [esp+SYSCALL_STACK._eax], eax
1112
        mov     [esp+SYSCALL_STACK._eax], eax
Line 1141... Line 1139...
1141
        mov     [esp+SYSCALL_STACK._eax], eax
1139
        mov     [esp+SYSCALL_STACK._eax], eax
1142
        ret
1140
        ret
1143
.19:
1141
.19:
1144
        cmp     ecx, OS_BASE
1142
        cmp     ecx, OS_BASE
1145
        jae     .fail
1143
        jae     .fail
1146
        stdcall load_library, ecx
1144
        stdcall load_library, ecx, eax
1147
        mov     [esp+SYSCALL_STACK._eax], eax
1145
        mov     [esp+SYSCALL_STACK._eax], eax
1148
        ret
1146
        ret
1149
.20:
1147
.20:
1150
        mov     eax, edx
1148
        mov     eax, edx
1151
        mov     ebx, ecx
1149
        mov     ebx, ecx
Line 1153... Line 1151...
1153
        mov     [esp+SYSCALL_STACK._eax], eax
1151
        mov     [esp+SYSCALL_STACK._eax], eax
1154
        ret
1152
        ret
1155
.21:
1153
.21:
1156
        cmp     ecx, OS_BASE
1154
        cmp     ecx, OS_BASE
1157
        jae     .fail
1155
        jae     .fail
1158
 
-
 
1159
        cmp     edx, OS_BASE
1156
        cmp     edx, OS_BASE
1160
        jae     .fail
1157
        jae     .fail
1161
 
-
 
1162
        stdcall load_pe_driver, ecx, edx
1158
        stdcall load_pe_driver, ecx, edx
1163
        mov     [esp+SYSCALL_STACK._eax], eax
1159
        mov     [esp+SYSCALL_STACK._eax], eax
1164
        ret
1160
        ret
1165
.22:
1161
.22:
1166
        cmp     ecx, OS_BASE
1162
        cmp     ecx, OS_BASE
1167
        jae     .fail
1163
        jae     .fail
1168
 
-
 
1169
        stdcall shmem_open, ecx, edx, esi
1164
        stdcall shmem_open, ecx, edx, esi
1170
        mov     [esp+SYSCALL_STACK._edx], edx
1165
        mov     [esp+SYSCALL_STACK._edx], edx
1171
        mov     [esp+SYSCALL_STACK._eax], eax
1166
        mov     [esp+SYSCALL_STACK._eax], eax
1172
        ret
1167
        ret
1173
 
-
 
1174
.23:
1168
.23:
1175
        cmp     ecx, OS_BASE
1169
        cmp     ecx, OS_BASE
1176
        jae     .fail
1170
        jae     .fail
1177
 
-
 
1178
        stdcall shmem_close, ecx
1171
        stdcall shmem_close, ecx
1179
        mov     [esp+SYSCALL_STACK._eax], eax
1172
        mov     [esp+SYSCALL_STACK._eax], eax
1180
        ret
1173
        ret
1181
.24:
1174
.24:
1182
        mov     eax, [current_slot]
1175
        mov     eax, [current_slot]
Line 1193... Line 1186...
1193
        setc    byte[esp+SYSCALL_STACK._eax]
1186
        setc    byte[esp+SYSCALL_STACK._eax]
1194
        jecxz   @f
1187
        jecxz   @f
1195
        bts     [eax+APPDATA.except_mask], ecx
1188
        bts     [eax+APPDATA.except_mask], ecx
1196
@@:
1189
@@:
1197
        ret
1190
        ret
1198
 
-
 
1199
.26:
1191
.26:
1200
        stdcall user_unmap, ecx, edx, esi
1192
        stdcall user_unmap, ecx, edx, esi
1201
        mov     [esp+SYSCALL_STACK._eax], eax
1193
        mov     [esp+SYSCALL_STACK._eax], eax
1202
        ret
1194
        ret
1203
 
-
 
1204
.27:
1195
.27:
1205
        cmp     ecx, OS_BASE
1196
        cmp     ecx, OS_BASE
1206
        jae     .fail
1197
        jae     .fail
1207
 
-
 
1208
        stdcall load_file_umode, ecx
1198
        stdcall load_file_umode, ecx
1209
        mov     [esp+SYSCALL_STACK._edx], edx
1199
        mov     [esp+SYSCALL_STACK._edx], edx
1210
        mov     [esp+SYSCALL_STACK._eax], eax
1200
        mov     [esp+SYSCALL_STACK._eax], eax
1211
        ret
1201
        ret
Line 1212... Line 1202...
1212
 
1202
 
1213
.fail:
-
 
1214
        xor     eax, eax
1203
.fail:
1215
        mov     [esp+SYSCALL_STACK._eax], eax
1204
        mov     [esp+SYSCALL_STACK._eax], eax
Line 1216... Line -...
1216
        ret
-
 
1217
 
1205
        ret
1218
 
1206
 
Line 1219... Line 1207...
1219
align 4
1207
align 4
1220
f68call:   ; keep this table closer to main code
1208
f68call:   ; keep this table closer to main code