ejemplos modo protegido.pdf


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


Página 1...52 53 54555691

Vista previa de texto


%define tss_sup
28h
tss2:
dw
67h
dw
TSS_sup_struc
db
0
db
10001001b
db
00000000b
db
0
;
%define tss_inf
30h
tss3:
dw
67h
dw
TSS_inf_struc
db
0
db
10001001b
db
00000000b
db
0
gdt_end:
;
; En la idt habrá 2 entradas inicializadas, la IRQ0 y la IRQ1. La
; primera de ellas es el timer y por ende la encargada de ejecutar
; alternadamente cada una de las dos tareas. La del teclado tiene como
; finalidad detectar el momento en que el usuario pulsa escape para
; finalizar el programa y retornar a modo real.
;
idtr
dw 8*10-1
;0,1,2,3,4,5,6,7,8,9
dd 0
real_idtr
resb 6
mask_real_pic1
db 0
;
idt: resb 8*8
;
irq0: dw
int8han
dw
08h
db
0
db
10000110b
db
0
db
0
irq1: dw
int9han
dw
08h
db
0
db
10000110b
db
0
db
0
;
; Luego se define la estructura del TSS.
;
struc tss_struc
.reg_PTL
resw 1
resw 1
.reg_ESP0
resd 1
.reg_SS0
resw 1
resw 1
.reg_ESP1
resd 1
.reg_SS1
resw 1
resw 1
.reg_ESP2
resd 1
.reg_SS2
resw 1
resw 1
.reg_CR3
resd 1
.reg_EIP
resd 1
.reg_EFLAGS
resd 1
.reg_EAX
resd 1