Subversion Repositories Kolibri OS

Rev

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

Rev 9709 Rev 9715
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2007-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2007-2022. 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: 9709 $
8
$Revision: 9715 $
9
 
9
 
Line 10... Line 10...
10
; Virtual-8086 mode manager
10
; Virtual-8086 mode manager
Line 826... Line 826...
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_slot_idx]
830
        mov     ecx, [current_slot_idx]
831
        shl     ecx, 8
831
        shl     ecx, BSF sizeof.APPDATA
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
836
        mov     ah, 1
836
        mov     ah, 1
837
        jb      @f
837
        jb      @f
838
        add     al, 60h
838
        add     al, 60h
839
@@:
839
@@:
840
        jmp     v86_exc_c.simulate_int
840
        jmp     v86_exc_c.simulate_int
841
.notcurrent:
841
.notcurrent:
842
        mov     ebx, SLOT_BASE + 0x100
842
        mov     ebx, SLOT_BASE + sizeof.APPDATA
843
        mov     ecx, [thread_count]
843
        mov     ecx, [thread_count]
844
.scan:
844
.scan:
845
        cmp     [ebx+APPDATA.process], eax
845
        cmp     [ebx + APPDATA.process], eax
846
        jnz     .cont
846
        jnz     .cont
847
        push    ecx
847
        push    ecx