FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas con la Int 13h
Saludos a todos Uds.
Agradeciendo sus comentarios y sobre todo la ayuda que me puedan brindar. Nuevamente molestandolos con mis dudas, y es que en un anterior hilo ya habia comentado de mi interes por explorar los sectores dañados de un disco. Con la sugerencia de muchos de Uds. estoy tratando de trabajar Assembler desde Delphi, el cual ya me dio los primeros desafios. La verdad es que lo que hice en Assembler en el pasado, fue operaciones basicas...pero lo que ahora estoy intentando hacer, lo hago por primera vez. Para ponerlos al tanto les paso el codigo que me da pelea: "Procedure PruebaCluster; {Encargado de probar un cluster en un disco utilizando codigo Assembler} Var bDLUnidad,bDHCara,bCHPista,bCLSector,bALNSectores,bResul:ShortInt; Label bOk,bErr; Begin //Asignamos los valores a ser revisados bDLUnidad:=0; //Unidad A: bDHCara:=0; //Cara 0 bCHPista:=3; //Pista 3 bCLSector:=7; //Sector 57 bALNSectores:=1; Asm //Inicio del codigo assembler Xor AX,AX //Ponemos a 0 el registro AX Mov AH,4 //Verificar sectores Mov DL,bDLUnidad Mov DH,bDHCara Mov CH,bCHPista Mov CL,bCLSector Mov AL,bALNSectores Int 13h //Llamar a la Interrupcion 13 Jnc bOk //Saltar si no hay error Mov bResul,1 //Si hay error Jmp bErr //Saltar a error bOk: Mov bResul,0 //No hay error bErr: //Terminar End; Form1.txtResultado.Text:=IntToStr(bResul); End;" El problema que tengo es que al llegar a la linea "Int 13h" la pantalla se pone azul con el siguiente mensaje: "Excepcion grave 0D en 0028:00002ABC en VXD VMM(01) +00001ABC" Haciendo la ejecucion paso a paso..todo va de maravillas (es lo que creo)hasta la linea que les indico... Por supuesto que las preguntas se viene a miles. Tengo por ayuda dos libros de ensamblador y dos de Delphi...pero el libro de Ensamblador, como es logico, solo trata de ensamblador y los de Delphi mencionan muy poco acerca de delphi y ensamblador...Asi que solo tengo buestra ayuda...para mis dudas. Estoy haciendo mis peripecias en una PII 400 mhz con Win98 SE, 64 MB de Ram. Estas son mis dudas: 1.- Es suficiente el codigo ensamblador que pongo, para lo que quiero hacer? (verificar un cluster si esta bien o mal es decir trabajar la Int 13 con la funcion 04 verificar sectores) 2.- De acuerdo al mensaje es un VXD el que esta dando lios..Sera por que estoy trabajando en Windows y este no deja acceder directamente al disco?. Les pediria que me den luces sobre esta oscura duda y experiencia. Mil gracias por su ayuda y por el tiempo que me brindan. PD. Disculpen por no usar las etiquetas Atentamente Carlo Última edición por carlocf fecha: 08-11-2005 a las 03:43:24. Razón: Disculpas por no usar las etiquetas |
|
|
|