program DISK_PARM;
const
Disk = 0; (* 0 = текущий, 1 = A:, 2 = B:, ... *)
type
Registers = record
case boolean
of
False : (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags : integer);
True : (AL, AH, BL, BH, CL, CH, DL, DH : byte)
end;
var
Regs : Registers;
begin
TextColor (LightGray);
TextBackGround (Black);
Regs.AH := $1C;
Regs.DL := Disk;
MsDos (Regs);
if Disk = 0
then WriteLn ('Параметры текущего диска:')
else WriteLn ('Параметры диска ' + Chr (Ord ('A') + Pred (Disk)) + ':');
WriteLn ('-------------------------------');
WriteLn ('Число секторов в кластере =', Regs.AL : 6);
WriteLn ('Размер сектора в байтах =', Regs.CX : 6);
WriteLn ('Число кластеров на диске =', Regs.DH * 256.0
+ Regs.DL : 6 : 0);
Halt (0)
end. (* DISK_PARM *)
Вернуться к статье