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 |