I
IDeonisI
Всем привет! Как сделать копию пяти дюймовой дискеты на ПК, при условии, что файловая система неизвестна (отличная от стандартных) и то, что там написано тоже неизвестно?
{ op=$02 to read / op=$03 to write }
function asmRWSectors(Drive,Track,Side,SSect:byte; var Buffer; op:byte):byte;
var
Regs : registers;
Tries: byte;
Done : boolean;
Result:byte;
cx_:word;
begin
Result:=0;
Tries:=0;
Done:=False;
repeat
cx_:=Track shl 8 + SSect;
asm
mov AH,op;
mov AL,$01; { Number of sectors to read }
mov CX,cx_; { track number and starting sector }
mov DH,Side;
mov DL,Drive;
{DX:=Side shl 8 + Drive;}
lds BX,Buffer; { point to data buffer }
Int 13h;
mov Result,AH;
end;
if Result<>0 then
begin
Inc(Tries);
if Tries>2 then Exit
else
asm
mov AX,$0000;
mov DL,Drive;
Int 13h;
end;
end
else Done:=True;
until Done;
asmRWSectors:=Result;
end;
Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab