ejemplos modo protegido.pdf


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


Página 1...33 34 35363791

Vista previa de texto


;
org 100h
comienzo:jmp inicio
;
; Lo primero que se debe hacer es definir una estructura donde se
; almacenarán todos los registros que luego se imprimirán en pantalla.
;
struc registros_struc
.reg_EIP
resd 1
.reg_EFLAGS
resd 1
.reg_EAX
resd 1
.reg_ECX
resd 1
.reg_EDX
resd 1
.reg_EBX
resd 1
.reg_ESP
resd 1
.reg_EBP
resd 1
.reg_ESI
resd 1
.reg_EDI
resd 1
.reg_ES
resw 1
.reg_CS
resw 1
.reg_SS
resw 1
.reg_DS
resw 1
.reg_FS
resw 1
.reg_GS
resw 1
endstruc
;
struc excepciones_struc
.excepcion resd 1
.errorcode? resw 1
.errorcode resw 1
.registros resb registros_struc_size
endstruc
;
; Se declara la variable excepciones del tipo excepciones_struc.
;
excepciones resb excepciones_struc_size
;
; Se colocan los mensajes que se deben imprimir.
;
eax_msg
db
'EAX=',0
ebx_msg
db
'EBX=',0
ecx_msg
db
'ECX=',0
edx_msg
db
'EDX=',0
esi_msg
db
'ESI=',0
edi_msg
db
'EDI=',0
esp_msg
db
'ESP=',0
ebp_msg
db
'EBP=',0
cs_msg
db
' CS=',0
ds_msg
db
' DS=',0
es_msg
db
' ES=',0
fs_msg
db
' FS=',0
gs_msg
db
' GS=',0
ss_msg
db
' SS=',0
eip_msg
db
'EIP=',0
eflags_msg
db
'EFLAGS=',0
errorcode_msg
db
'ERRORCODE=',0
excepcion_msg
db
'EXCEPCIÓN=',0
;
; La que sigue es la función utilizada para mostrar los registros.
; Esta función llama a otras 3, clrscr, que borra la pantalla,
; mostrar_cadena, que imprime una cadena de caracteres hasta encontrar