Вниз
Скачать: CL | DM;

DOS & int25   Найти похожие ветки 

 
sevylor ©   (2002-03-08 05:14) [0]

Не подскажет ли кто, как прочесть сектор (TP7):
var buf:array [0..511] of byte;
asm
push bx
push ds
mov al,disk
mov cx,1
mov dx,0
lea bx,buf
int $25
pop dx
pop ds
pop bx
end; -> в al=7. Что происходит? (кстати, через asm то же самое)


 
Cobalt ©   (2002-03-08 12:57) [1]

Дело в том, что Windows не позволяет кому угодно обращаться напрямую к диску.
Тем более, что пользуешься ты Dos-методом, т.е. используешь сегменты и смещения , в то время как в Windows только селекторы и смещения (я надеюсь, ты знаешь разницу между ними).

Месяцев 5 тому назад видел подобный вопрос. Сказали, что надо переходить в режим Виртуальной Дос-машины (как - уже не помню).
Если очень надо - ищи Devices Driver Kit.


 
Anatoly Podgoretsky ©   (2002-03-08 21:18) [2]

Здесь не достаточно информации для диагноза, надо знать еще состояния CY, AH

но судя по вызову ты пытаешься прочитать логический сектор 0, а это сделать данной функцией нельзя. Читай спецификацию по данному прерыванию


 
sevylor ©   (2002-03-09 06:11) [3]

>2 Cobalt В том-то и дело, что надобно это в голом Дос. Под Виндой все прекрасно, читается/пишется любой сектор через DeviceIOControl.
Мерси всем. Вышел из клинча. INT 25 не читает FAT32. Может, кому пригодится: надо пользовать Int 21h Function 7305h Ext_ABSDiskReadWrite, значения регистров те же, что для INT 25/26 для дисков >32, si=0 для чтения, для записи бит 0=1, остальные биты - в зависимости от записываемых данных. Allows absolute disk read/write to FAT32, FAT16, and FAT12 drives. This call replaces Int 25h/26h.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
14-80656
МИФИст
2002-02-09 00:16
2002.03.25
Вопрос не в кассу...


14-80673
.: Joiro :.
2002-02-10 23:42
2002.03.25
Продолжаем/дополняем тему о фильмах: Какой фильм Вы больше всего ждёте?


3-80412
Andrey V. Zuev
2002-02-26 12:48
2002.03.25
Импортирование таблицы из dbf на сервер MSSQL7


1-80504
pashka
2002-03-11 12:41
2002.03.25
Разное


3-80438
Demon ltd
2002-02-25 00:26
2002.03.25
Выборка между двумя датами опять из базы




   Наверх