Os programas começam a informação do alocamento da movimentação para o intdosx dos intdos das funções do uso do disco

Files Recovery Software
Início Detalhes de Contato Apoio ao Cliente Download Demo Produtos  

 
 

Os intdos e o intdosx das funções executam a interrupção 0x21 do DOS para invocar uma função especificada do DOS. O valor de inregs->h.ah especifica a função do DOS a ser invocada. O intdosx da função copía também os segregs - >ds e segregs - >es que os valores nos registos correspondentes antes de invocar o DOS funcionam e restauram então o DS.

Esta característica das funções permite os programas que usam ponteiros distantes ou um modelo grande da memória dos dados especifica que segmento deve ser usado para a execução da função. Com função do intdosx você pode invocar uma função do DOS que faça exame de um valor do DS diferente do segmento de dados do defeito e/ou faça exame de um argumento no ES.

Ambas as funções retornam o valor do MACHADO após a conclusão da ligação de controle do DOS e se a bandeira carregar estiver ajustada (outregs - > x.cflag! = 0), indica que um erro ocorreu. Depois que a interrupção 0x21 retorna as funções copíam os valores atuais do registo aos outregs, status da bandeira carregar ao campo de x.cflag nos outregs e o valor das 8086 bandeiras regista ao campo de x.

flags nos outregs. Os inregs e os outregs podem apontar à mesma estrutura. Deixar-nos ver os exemplos destas funções. O exemplo do uso da função dos intdos foi dado abaixo. Este programa obtem a informação selecionada sobre (1.44Mb, disco flexível da polegada de 3 ½) a movimentação de disco flexível. Este programa fornece a informação do alocamento de um disco flexível.

/* A informação do alocamento da movimentação começar para o uso do disco */

#include <dos.h> /* for intdos() and union REGS */
#include <stdio.h> /* for printf() */

union REGS inregs, outregs;

void main()
{
inregs.h.ah = 0x36; /* get disk free space
function number */
inregs.h.dl = 0x01; /* drive A: */

intdos(&inregs, &outregs);

printf("%d sectors/cluster,\n%d clusters,\n%d bytes/sector,
\n%d total clusters",
outregs.x.ax,outregs.x.bx,
outregs.x.cx, outregs.x.dx);
getch();
}

And output of the program will be like this:

1 setor/conjunto,
1933 conjuntos,
512 bytes/setor,
2843 conjuntos totais


Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18


page 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34

35 | 36 | 37 | 38

Next page
 
 
Data Recovery livro
 
Capítulo-1 Uma vista geral da recuperação dos dados
Capítulo-2 Introdução de discos duros
Capítulo-3 Aproximação lógica aos discos e ao ósmio
Capítulo-4 Sistemas de número
Capítulo-5 Introdução da programação de C
Capítulo-6 Introdução aos princípios do computador
Capítulo-7 Comandos necessários do DOS
Capítulo-8 Funções e interrupções do Disco-BIOS que seguram com C
Capítulo-9 Segurando discos duros grandes
Capítulo-10 Recuperação dos dados do disco flexível Corrupted
Capítulo-11 Fazendo apoios
Capítulo-12 MBR de leitura e modificando com programação
Capítulo-13 DBR de leitura e modificando com programação
Capítulo-14 Programação para “a recuperação da lima crua”
Capítulo-15 Programação para limpadores dos dados
Capítulo-16 Desenvolvendo mais utilidades para discos
Apêndice Glossário de termos da recuperação dos dados
 
 
Pro Data Doctor

Início

Produtos

Detalhes de Contato

Apoio ao Cliente

Download Demo

Termos e Condições

 
Pro Data Doctor