Subversion Repositories Kolibri OS

Rev

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

Rev 3539 Rev 3696
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2007-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2007-2012. 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: 3539 $
8
$Revision: 3696 $
9
 
9
 
Line 10... Line 10...
10
; Virtual-8086 mode manager
10
; Virtual-8086 mode manager
Line 894... Line 894...
894
        call    irq_eoi
894
        call    irq_eoi
895
        popad
895
        popad
896
        iretd
896
        iretd
897
.found:
897
.found:
898
        mov     cr3, eax
898
        mov     cr3, eax
-
 
899
        mov     esi, [ebx+APPDATA.saved_esp0]
899
        sub     word [esi-sizeof.v86_regs+v86_regs.esp], 6
900
        sub     word [esi-sizeof.v86_regs+v86_regs.esp], 6
900
        mov     ecx, [esi-sizeof.v86_regs+v86_regs.eip]
901
        mov     ecx, [esi-sizeof.v86_regs+v86_regs.eip]
901
        mov     word [edx], cx
902
        mov     word [edx], cx
902
        mov     ecx, [esi-sizeof.v86_regs+v86_regs.cs]
903
        mov     ecx, [esi-sizeof.v86_regs+v86_regs.cs]
903
        mov     word [edx+2], cx
904
        mov     word [edx+2], cx
Line 914... Line 915...
914
        mov     word [esi-sizeof.v86_regs+v86_regs.cs], cx
915
        mov     word [esi-sizeof.v86_regs+v86_regs.cs], cx
915
        and     byte [esi-sizeof.v86_regs+v86_regs.eflags+1], not 3
916
        and     byte [esi-sizeof.v86_regs+v86_regs.eflags+1], not 3
916
        call    update_counters
917
        call    update_counters
917
        lea     edi, [ebx + 0x100000000 - SLOT_BASE]
918
        lea     edi, [ebx + 0x100000000 - SLOT_BASE]
918
        shr     edi, 3
919
        shr     edi, 3
919
        add     edi, TASK_DATA
920
        add     edi, CURRENT_TASK
920
        call    find_next_task.found
921
        call    find_next_task.found
921
        call    do_change_task
922
        call    do_change_task
922
        popad
923
        popad
923
        iretd
924
        iretd