Subversion Repositories Kolibri OS

Rev

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

Rev 435 Rev 465
Line 1... Line 1...
1
$Revision: 435 $
1
$Revision: 465 $
2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
;;                                                              ;;
3
;;                                                              ;;
4
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;                                                              ;;
6
;;                                                              ;;
Line 141... Line 141...
141
 
141
 
142
align 4
142
align 4
143
e7:                        ;#NM exception handler
143
e7:                        ;#NM exception handler
144
           save_ring3_context
144
        save_ring3_context
145
           clts
145
        clts
146
           mov ax, os_data
146
        mov ax, app_data  ;
147
           mov ds, ax
147
        mov ds, ax
Line 148... Line 148...
148
           mov es, ax
148
        mov es, ax
149
 
149
 
Line 194... Line 194...
194
           push eax
194
           push eax
195
           push ebx
195
           push ebx
196
           push ecx
196
           push ecx
197
           push edx
197
           push edx
Line 198... Line 198...
198
 
198
 
199
           mov ebx, [ss:CURRENT_TASK]
199
           mov ebx, [CURRENT_TASK]
Line 200... Line 200...
200
           shl ebx, 8
200
           shl ebx, 8
201
 
201
 
202
           mov eax, [ss:ebx+SLOT_BASE+APPDATA.fpu_handler]
202
           mov eax, [ebx+SLOT_BASE+APPDATA.fpu_handler]
Line 203... Line 203...
203
           test eax, eax
203
           test eax, eax
204
           jz .default
204
           jz .default
205
 
205
 
206
           mov ecx, [reg_eip]
206
           mov ecx, [reg_eip]
207
           mov edx, [reg_esp]
207
           mov edx, [reg_esp]
208
           sub edx, 4
208
           sub edx, 4
Line 209... Line 209...
209
           mov [ss:edx+new_app_base], ecx
209
           mov [edx], ecx
210
           mov [reg_esp], edx
210
           mov [reg_esp], edx
Line 238... Line 238...
238
           push eax
238
           push eax
239
           push ebx
239
           push ebx
240
           push ecx
240
           push ecx
241
           push edx
241
           push edx
Line 242... Line 242...
242
 
242
 
243
           mov ebx, [ss:CURRENT_TASK]
-
 
Line 244... Line 243...
244
           shl ebx, 8
243
           mov ebx, [current_slot]
245
 
244
 
246
           mov eax, [ss:ebx+SLOT_BASE+APPDATA.sse_handler]
245
           mov eax, [ebx+APPDATA.sse_handler]
Line 247... Line 246...
247
           test eax, eax
246
           test eax, eax
248
           jz .default
247
           jz .default
249
 
248
 
250
           mov ecx, [reg_eip]
249
           mov ecx, [reg_eip]
251
           mov edx, [reg_esp]
250
           mov edx, [reg_esp]
252
           sub edx, 4
251
           sub edx, 4
Line 253... Line 252...
253
           mov [ss:edx+new_app_base], ecx
252
           mov [edx], ecx
254
           mov [reg_esp], edx
253
           mov [reg_esp], edx