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 |