Вниз
Скачать: 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
1-80551
KaPaT
2002-03-09 21:04
2002.03.25
Ребят, помогите если знаете!


14-80658
Елена
2002-02-08 12:48
2002.03.25
Не срабатывает таймер!!!


3-80451
Bura
2002-02-26 18:00
2002.03.25
Не могу установить связь с IB


3-80401
ARDA
2002-02-20 18:35
2002.03.25
Установка BDE


3-80443
prorok
2002-02-27 13:51
2002.03.25
Индексирование




   Наверх