ejemplos modo protegido.pdf


Vista previa del archivo PDF ejemplos-modo-protegido.pdf


Página 1...79 80 81828391

Vista previa de texto


; inhabilitar la paginación, las direcciones lineales y físicas tienen
; que coincidir.
;
use16
org 100h
jmp inicio
;
%define
gdt_basep
110000h
%define
gdt_base
0
%define
os_basep
111000h
%define
os_base
11000h
;
; Se hacen algunas definiciones. La ‘p’ al final hace referencia a que
; se trata de una posición de memoria física. De esta forma, la base
; física de la gdt está en 110000h, mientras que la lineal está en 0.
;
gdtr
dw
gdt_end-gdt-1
dd
0
;
gdt:
resb
8
;
; 08h Segmento de código de 64 Kb sobre el de modo real.
;
%define cs_sel_16 8
cs_des_16 dw
0FFFFh
;límite en modo real 15.00
dw 0
;base 15:00
db 0
;base 23:16
db 10011010b
;tipo P1 DPL0 S1 CR
db 00000000b
;G0 D/B0 Lím 19.16 0
db 0
;base 31:24
;
; 10h Segmento de datos de 64 Kb sobre el de modo real.
;
%define ds_sel_16 10h
ds_des_16 dw
0FFFFh
;límite en modo real 15.00
dw 0
;base 15:00
db 0
;base 23:16
db 10010010b
;tipo P1 DPL0 S1 DW
db 00000000b
;G0 D/B0 Lim 19:16 0
db 0
;base 31:24
;
; 18h Segmento de código flat de 32 bits.
;
%define cs_sel_32 18h
cs_des_32 dw
0ffffh
;límite 15:00
dw
0
;base 15:00
db
0
;base 23:16
db
10011010b
;tipo P1 DPL0 S1 CR
db
11001111b
;G1 D/B1 Lim 19:16 fh
db
0
;base 31:24
;
; 20h Segmento de datos flat de 32 bits.
;
%define ds_sel_32 20h
ds_des_32 dw
0ffffh
;límite 15:00
dw
0
;base 15:00
db
0
;base 23:16
db
10010010b
;tipo P1 DPL0 S1 DW
db
11001111b
;G1 D/B1 Lim 19:16 fh
db
0
;base 31:24
gdt_end: