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 |