Чтение секторов HDD!

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Dilshod
Сообщения: 5
Зарегистрирован: 15 мар 2005, 14:54
Откуда: Uzbekistan, Tashkent

Как считывать сектора LbaHDD, под Windows или под DOS!
заранее спасибо.
Andy
Сообщения: 238
Зарегистрирован: 17 фев 2004, 08:15
Откуда: Минск

Поищи документацию тут - http://igoryksoft.narod.ru/docs/asm.htm
*provided AS IS
Dilshod
Сообщения: 5
Зарегистрирован: 15 мар 2005, 14:54
Откуда: Uzbekistan, Tashkent

Нашол только Низкоуровневое управление HDD, а мне бы узнать функцию чтения сектора,
видал еше как не delphi для этого использовали int25 как то, никто не знает как ее использовать?
Dilshod
Сообщения: 5
Зарегистрирован: 15 мар 2005, 14:54
Откуда: Uzbekistan, Tashkent

никто не знает значение этих констант
VWIN32_DIOC_DOS_INT25 и VWIN32_DIOC_DOS_DRIVEINFO
использеумых в DeviceIoControl
Dilshod
Сообщения: 5
Зарегистрирован: 15 мар 2005, 14:54
Откуда: Uzbekistan, Tashkent

Все, нашел, все Ok,

Код: Выделить всё

	mov	[diStartSector],1 ;Нач сектор
.Next:
	invoke	CreateFile,FileName,GENERIC_READ,0,0,0,\
                    FILE_FLAG_DELETE_ON_CLOSE,0
	mov	[hDevice],eax
	mov	[diSectors],128     ;число секторов
	mov	[diBuffer],Bts_       ;буффер
	mov	[REAX],7305h
	mov	[REBX],d_str
	mov	[RECX],-1
	mov	[REDX],6          ;диск
	mov	[Flags],1
	invoke	DeviceIoControl,[hDevice],VWIN32_DIOC_DOS_DRIVEINFO,\
                      Regs,7*4,Regs,7*4,nb,0
	invoke	CloseHandle,[hDevice]
Ответить