Subversion Repositories Kolibri OS

Rev

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

Rev 8866 Rev 8869
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2007-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2007-2021. 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: 8866 $
8
$Revision: 8869 $
9
 
9
 
Line 10... Line 10...
10
; Virtual-8086 mode manager
10
; Virtual-8086 mode manager
Line 825... Line 825...
825
        mov     edi, ebp
825
        mov     edi, ebp
826
        pop     eax
826
        pop     eax
827
v86_irq2:
827
v86_irq2:
828
        mov     esi, [v86_irqhooks+edi*8]       ; get VM handle
828
        mov     esi, [v86_irqhooks+edi*8]       ; get VM handle
829
        mov     eax, [esi+V86_machine.process]
829
        mov     eax, [esi+V86_machine.process]
830
        mov     ecx, [CURRENT_TASK]
830
        mov     ecx, [current_slot_idx]
831
        shl     ecx, 8
831
        shl     ecx, 8
832
        cmp     [SLOT_BASE+ecx+APPDATA.process], eax
832
        cmp     [SLOT_BASE+ecx+APPDATA.process], eax
833
        jnz     .notcurrent
833
        jnz     .notcurrent
834
        lea     eax, [edi+8]
834
        lea     eax, [edi+8]
835
        cmp     al, 10h
835
        cmp     al, 10h
Line 898... Line 898...
898
        mov     word [esi-sizeof.v86_regs+v86_regs.cs], cx
898
        mov     word [esi-sizeof.v86_regs+v86_regs.cs], cx
899
        and     byte [esi-sizeof.v86_regs+v86_regs.eflags+1], not 3
899
        and     byte [esi-sizeof.v86_regs+v86_regs.eflags+1], not 3
900
        call    update_counters
900
        call    update_counters
901
        lea     edi, [ebx + 0x100000000 - SLOT_BASE]
901
        lea     edi, [ebx + 0x100000000 - SLOT_BASE]
902
        shr     edi, 3
902
        shr     edi, 3
903
        add     edi, CURRENT_TASK
903
        add     edi, TASK_TABLE
904
        call    find_next_task.found
904
        call    find_next_task.found
905
        call    do_change_task
905
        call    do_change_task
906
        popad
906
        popad
907
        iretd
907
        iretd