Ver Mensaje Individual
  #11  
Antiguo 12-10-2008
Avatar de carlocf
carlocf carlocf is offline
Miembro
 
Registrado: oct 2005
Posts: 35
Reputación: 0
carlocf Va por buen camino
Manipular CD

6.- Teniendo el listado de sectores y pistas malogrados solo debemos escoger cual de ellos usaremos para identificar a nuestro diskete. Desde un programa debes buscar en el disco el sector y pista que hayas elegido y comprobar que estos sectores se encuentran malogrados, si es asi podriamos creer que tenemos el disco correcto.

7.- Sin embargo si pensamos en el asunto un poco mas, basta encontrar otro disco que por coincidencia tenga un rango de sectores malogrados entre los cuales se encuentra los que se han seleccionado y se tomaria a este disco como nuestro disco. Entonces y gracias al manual de un amigo Angel Moreno 'Microscope-32E' donde explica este metodo de seguridad (despues de completar mis pruebas y cuando ya tenia todo el trabajo completo me contacte con Angel Moreno y me brindo su manual, debo decir que si lo hubiese encontrado antes me habria ahorrado mucho tiempo de trabajo). Angel indica que una combinacion de sectores malogrados y buenos (que se encuentren contiguos) ayuda mas que si solo se usa sectores malogrados. Les paso el correo de Angel Moreno para ver si nuestro estimado moderador marcoszorrilla puede contactarse con el y de pronto podamos tener su esplendido manual al alcance de todos. El correo es a.moreno@quipusoft.com

8.- El codigo ASM que uso es el siguiente:

Código:
Asm
  {Guardar los registros}
      push DI
      push AX
      push DX
      push CX
      Mov DI,2 {Iniciar el Contador}
      Xor AX,AX {Poner a 0 el registro AX}
    bBucle:
      Mov AH,4  {Colocar el indicador de Verificar Sectores}
      Mov DL,bDLUnidad
      Mov DH,bDHCara
      Mov CH,bCHPista
      Mov CL,bCLSector
      Mov AL,bALNSectores
      Int 13h
      Jnc bOk
      Jmp bErr
    bOk:
      Mov AH,0 {Restaurando el diskette}
      Int 13h {Llamar a la Int 13}
      Dec DI  {Decrementamos el contador}
      Cmp DI,0 {Compramos si es igual a cero}
      Jne bBucle {Si no es igual saltamos a bBucle}
      Jmp bErr {Si es igual a 0 saltamos a bErr}
    bErr:
      Mov ResAH,AH
      pop CX  {Restauramos los registros}
      pop DX
      pop AX
      pop DI
    End;

Última edición por carlocf fecha: 12-10-2008 a las 15:02:06.
Responder Con Cita