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 |