|
|
IDEHDD.PAS |
|
{* Серийный номер IDE винта *}Unit IDEHDD;Interface Implementation Begin writeln('Получение серийного номера IDE-винчестера '); End. Program pas; Uses IDEHDD.pas; {* Эту строку можно удалить *} {From : Serg Karpov Subj : Серийный номер IDE винта } Uses CRT; {* Подключаем внешние файлы *} Type {* Создание новых типов данных *} TIdeInfo = Record Config : word; CylsTotal : word; Unused : word; HeadTotal : word; BPT : word; BPS : word; SPT : word; Vendor : Array[0..2] Of word; Serial : Array[1..20] Of char; BufType : word; BufSize : word; ECC : word; Revision : Array[1..8] Of char; Model : Array[1..40] Of char; End; Var {* В работе нам потребуются переменные: *} InfoArray : Array[0..255] Of word; IdeInfo : TIdeInfo Absolute InfoArray; NumDisk : byte; Count : byte; Procedure GetIDEInfo( Drive : byte ); Var {* Необходимые переменные *} I : byte; Begin FillChar( InfoArray, sizeof(InfoArray), 0 ); While ( Port[$1F7] And $80 0 ) Do; Port[$3F6] := 2; Port[$1F6] := $A0 + ( Drive Shl 4); Port[$1F7] := $EC; While ( Port[$1F7] And $80 0 ) Do; For I := 0 To 255 Do {* Переменная I увеличивается с 0 до 255 *} InfoArray[I] := Swap( PortW[$01F0] ); End; Begin ClrScr; {* Очистка экрана *} NumDisk := Mem[$40 : $75]; For Count := 1 To NumDisk Do {* Увеличиваем Count от 1 до NumDisk с шагом 1 *} Begin GetIdeInfo( Count - 1 ); Writeln('Serial number : ', IdeInfo.Serial ); Writeln('Revision : ', IdeInfo.Revision ); Writeln('Model HDD : ', IdeInfo.Model ); Writeln; {* Пустая строка *} Writeln('Total cylinders : ', Swap(IdeInfo.CylsTotal) : 8); Writeln('Total heads : ', Swap(IdeInfo.HeadTotal) : 8); Writeln('Sectors per track : ', Swap(IdeInfo.SPT) : 8 ); Writeln('Byte per sector : ', Swap(IdeInfo.BPS) : 8 ); Writeln('Byte per track : ', Swap(IdeInfo.BPT) : 8 ); Writeln('Size Of buffer : ', Swap(IdeInfo.BufSize) : 8 ); End; End...... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|