|
||
PROGRAM6629.PAS |
||
{* Серийный номер, Метка тома и тип FAT диска *}Unit PROGRAM6629;Interface Implementation Begin writeln('Серийный номер, Метка тома и тип FAT диска'); End. Program pas; Uses PROGRAM6629.pas; {* Эту строку можно удалить *} {From : John Vostrenko Subj : Серийный номер, Метка тома и тип FAT диска } Const {* Постоянные значения *} Hexa : Array [0..15] Of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); Type {* Используемые типы *} DiskInfo = Record { Work area } Info_Level : Word; { Always zero } Serial_Num : LongInt; { Serial number Of the specified disk } Volume_Name : String[11]; { 'NO_NAME' Or volume name } File_Sys : String[8]; { 'FAT12' Or 'FAT16' } End; Var {* В работе нам потребуются переменные: *} Ch1 : Byte; Ch2 : Byte; Ch3 : Byte; Ch4 : Byte; DInfo : DiskInfo; First : Word; Second : Word; Function Word2Hex(Number : Word) : String; Begin Ch1 := (Number Shr 8) Shr 4; Ch2 := (Number Shr 8) - (Ch1 Shl 4); Ch3 := (Number And $FF) Shr 4; Ch4 := (Number And $FF) - (Ch3 Shl 4); Word2Hex := Hexa[Ch1] + Hexa[Ch2] + Hexa[Ch3] + Hexa[Ch4]; End; Begin Asm Mov Ax, Seg DInfo Mov Ds, Ax Mov Dx, Offset DInfo { Load Adress Of my target table } Mov Ax, 6900h { Get Serial Number } Mov Bl, 0 { Drive : 0 default, 1 A:, 2 B:, ... } Xor Bh, Bh { Always 0 under DOS } Int 21h { Only If you have DOS 4.0 + } Mov Ax, Word Ptr [DInfo.Serial_Num + 2] Mov First, Ax { First word Of the serial number } Mov Ax, Word Ptr DInfo.Serial_Num Mov Second, Ax { Second word Of the serial number } End; Writeln('Serial number Of this disk : ', Word2Hex(First), ' - ', Word2Hex(Second)); 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
|