Subversion Repositories Kolibri OS

Rev

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

Rev 5201 Rev 5565
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2007-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2007-2015. 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: 5201 $
8
$Revision: 5565 $
9
 
9
 
Line 10... Line 10...
10
; Virtual-8086 mode manager
10
; Virtual-8086 mode manager
Line 76... Line 76...
76
; physical address = 0x9C000
76
; physical address = 0x9C000
77
; linear address = 0x8009C000
77
; linear address = 0x8009C000
78
; (I have seen one computer with EBDA segment = 0x9D80,
78
; (I have seen one computer with EBDA segment = 0x9D80,
79
; all other computers use less memory)
79
; all other computers use less memory)
Line 80... Line 80...
80
 
80
 
81
        mov     eax, PG_UW
81
        mov     eax, PG_UWR
82
        mov     [page_tabs], eax
82
        mov     [page_tabs], eax
Line 83... Line 83...
83
        invlpg  [eax]
83
        invlpg  [eax]
84
 
84
 
85
        mov     byte [0x500], 0xCD
85
        mov     byte [0x500], 0xCD
86
        mov     byte [0x501], 0x13
86
        mov     byte [0x501], 0x13
87
        mov     byte [0x502], 0xF4
87
        mov     byte [0x502], 0xF4
88
        mov     byte [0x503], 0xCD
88
        mov     byte [0x503], 0xCD
Line 89... Line 89...
89
        mov     byte [0x504], 0x10
89
        mov     byte [0x504], 0x10
90
        mov     byte [0x505], 0xF4
90
        mov     byte [0x505], 0xF4
91
 
91
 
92
        mov     eax, 0x99000+PG_UW
92
        mov     eax, 0x99000+PG_UWR
93
        mov     edi, page_tabs+0x99*4
93
        mov     edi, page_tabs+0x99*4
94
        mov     edx, 0x1000
94
        mov     edx, 0x1000
Line 99... Line 99...
99
        loop    @b
99
        loop    @b
Line 100... Line 100...
100
 
100
 
101
; addresses 0xC0000 - 0xFFFFF - BIOS code (shared between all machines!)
101
; addresses 0xC0000 - 0xFFFFF - BIOS code (shared between all machines!)
Line 102... Line 102...
102
; physical address = 0xC0000
102
; physical address = 0xC0000
103
 
103
 
104
        mov     eax, 0xC0000+PG_UW
104
        mov     eax, 0xC0000+PG_UWR
105
        mov     edi, page_tabs+0xC0*4
105
        mov     edi, page_tabs+0xC0*4
106
        mov     ecx, 64
106
        mov     ecx, 64
107
@@:
107
@@: