Rev 2112 | Rev 2149 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2112 | Rev 2118 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2007-2008. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2007-2008. 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: 2112 $ |
8 | $Revision: 2118 $ |
9 | 9 | ||
Line 10... | Line 10... | ||
10 | ; Virtual-8086 mode manager |
10 | ; Virtual-8086 mode manager |
Line 837... | Line 837... | ||
837 | ; mov dx, 30F7h |
837 | ; mov dx, 30F7h |
838 | ; in al, dx |
838 | ; in al, dx |
839 | ; mov byte [BOOT_VAR + 48Eh], 0FFh |
839 | ; mov byte [BOOT_VAR + 48Eh], 0FFh |
840 | ; ret |
840 | ; ret |
Line -... | Line 841... | ||
- | 841 | ||
841 | 842 | align 4 |
|
842 | v86_irq: |
843 | v86_irq: |
843 | ; push irq/pushad/jmp v86_irq |
844 | ; push irq/pushad/jmp v86_irq |
844 | ; eax = irq |
845 | ; eax = irq |
845 | lea esi, [esp+1Ch] |
846 | lea esi, [esp+1Ch] |
Line 896... | Line 897... | ||
896 | pop eax |
897 | pop eax |
897 | .cont2: |
898 | .cont2: |
898 | pop ecx |
899 | pop ecx |
899 | .cont: |
900 | .cont: |
900 | loop .scan |
901 | loop .scan |
901 | mov al, 20h |
902 | mov ecx, edi |
902 | out 20h, al |
- | |
903 | cmp edi, 8 |
903 | call irq_eoi |
904 | jb @f |
- | |
905 | out 0A0h, al |
- | |
906 | @@: |
- | |
907 | popad |
904 | popad |
908 | iretd |
905 | iretd |
909 | .found: |
906 | .found: |
910 | mov cr3, eax |
907 | mov cr3, eax |
911 | sub word [esi-v86_regs.size+v86_regs.esp], 6 |
908 | sub word [esi-v86_regs.size+v86_regs.esp], 6 |