PDA

View Full Version : Đọc Fat32 bằng C



nt253vn
08-01-2003, 05:08
Có ai biết chương trình đọc FAT 32 viết bằng C không ?, chỉ cho mình với, gấp lắm !!

tinystar
10-01-2003, 20:41
chương trình đơn giản thôi mà. dùng asm, xem các tham số trong cuốn hỗ trợ lập trình hệ thống của Nguyễn Lê Tín hoặc tìm cuốn giáo trình Hệ điều hành mà xem.
Bí quá thì mail cho mình : masterthts@yahoo.com
mình cho mẫu.

tinystar
11-01-2003, 08:38
{
read FAT
TinyStar
}
program R_FAT_FDD;
uses crt, dos;
const s16 : string[16] = '0123456789ABCDEF';
var A : array[0..511] of byte;
reg : registers;
c : char;
i, j, k1, k2, k3 : integer;

function to16(n : byte) : string;
var du : byte;
code : integer;
s1 : string;
begin
s1 := '';
repeat
du := n mod 16;
n := n div 16;
s1 := s1 + s16[du+1];
until n = 0;
to16 := s1;
end;

begin
clrscr;

fillchar(A, sizeof(A), 0);
writeln('Insert disk into drive A and press any key.');
c := readkey;
i := 0;
repeat
with reg do
begin
dl := 0; {0:A, 1:B, 128:C}
dh := 0; {header number}
cl := 2; {sector number}
ch := 0; {cylynder number}
al := 1; {number of sector want to read}
ah := 2; {2 : read, 3 : write}
es := seg(A);
bx := ofs(A);
end;
intr($13, reg);
inc(i);
until i = 2;

for i:=0 to 511 do write(to16(A[i]));
end.

Đây là chương trình đọc FAT mình viết bằng pascal (lâu lắm rùi nên ngại chuyển sang C), bạn có thể chuyển sang c (các tham số mình đã chú thích)