Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2005
Avatar de carlocf
carlocf carlocf is offline
Miembro
 
Registrado: oct 2005
Posts: 35
Poder: 0
carlocf Va por buen camino
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
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:55:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi