1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Shadow |
24.03.2003 6:09
Сообщение
#1
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: 1 |
---------- |int 13h WINDOWS XP недает даже читать диск ---------- говорит что приложение использует прямой доступ как сделать так чтабы WINDOWS не прерывал работу программы ВОТ :-[ -------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
![]() ![]() |
| GLuk |
26.03.2003 18:08
Сообщение
#2
|
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: 0 |
{Эххх - попробуй вот это :o}
Uses Crt; Var Buf:array[1..512] of Char; i:Integer; Name:String; Begin ClrScr; Name:='boot!sec.bin'#0; WriteLn('Вставьте дискету и нажмите any key...'); asm mov ah,0 int 16h mov al,0 {Номер логического диска} mov cx,1 {Количество секторов для чтения} mov dx,0 {Номер стартового сектора} lea bx,Buf {Смещение к нашему буферу} int 25h {читаем} end; WriteLn('Прочитали...смотрим содержимое:'); {Выводим, пропуская перевод строки и возврат каретки, дабы не уехало...} For i:=1 to 512 do If (Buf[i]<>#10) or (Buf[i]<>#13) then Write(Buf[i]); asm {Сохранить, прочитанный сектор на диск под именем Name} mov ax,3D02h {Открыть файл} lea dx,Name {Адрес имени} inc dx {Пропускаем байт размера стринга} int 21h jnc @AlrExst {Уже есть} mov ah,3Ch {Если нет - создаем} mov cx,20h {Атрибут - архивный} int 21h {Обращаемся к ДОС} @AlrExst:mov bx,ax {Дескриптор} mov ah,40h {Запись} mov cx,512 {Кол-во байт для записи} lea dx,Buf {Буфер с прочитанным содержимым нулевого сектора} int 21h {пишем} mov ah,3Eh {Закрыть файл} int 21h end; WriteLn('Вставьте следующую дискету then press any key...'); {Можешь оформить в виде отдельных процедур} {А заодно просмотреть содержимое бут-сектора на ЖД - файл boot!sec.bin} asm mov ah,0 int 16h mov ax,3D02h {Открыть файл с содержимым бут-сектора} lea dx,Name {Адрес имени} inc dx {Пропускаем байт размера стринга} int 21h mov bx,ax {Сохр. дескриптор} mov ah,3Fh {Читать из файла} mov cx,512 {512 байт читать} lea dx,Buf {Буфер для чтения} int 21h {читаем} mov ah,3Eh {Закрыть файл} int 21h mov al,0 {Номер логического диска} mov cx,1 {Количество записываемых секторов} mov dx,0 {Номер стартового сектора} lea bx,Buf {Буфер} int 26h {пишешь} end; End. |
Shadow Работа с диском на физическом уровне 24.03.2003 6:09
GLuk Re: Работа с диском на физическом уровне 24.03.2003 6:23
Shadow Re: Работа с диском на физическом уровне 24.03.2003 6:30
GLuk Re: Работа с диском на физическом уровне 24.03.2003 6:47
Shadow Re: Работа с диском на физическом уровне 24.03.2003 7:29
GLuk Re: Работа с диском на физическом уровне 24.03.2003 7:46
Shadow Re: Работа с диском на физическом уровне 24.03.2003 8:10
Shadow Re: Работа с диском на физическом уровне 24.03.2003 19:22
GLuk Re: Работа с диском на физическом уровне 24.03.2003 21:40
Shadow Re: Работа с диском на физическом уровне 24.03.2003 22:24
GLuk Re: Работа с диском на физическом уровне 25.03.2003 6:00
Shadow Re: Работа с диском на физическом уровне 25.03.2003 9:04
GLuk Re: Работа с диском на физическом уровне 25.03.2003 10:50
Shadow Re: Работа с диском на физическом уровне 26.03.2003 0:01
Shadow Re: Работа с диском на физическом уровне 26.03.2003 4:55
GLuk Re: Работа с диском на физическом уровне 26.03.2003 5:59
Shadow Re: Работа с диском на физическом уровне 26.03.2003 7:42
GLuk Re: Работа с диском на физическом уровне 26.03.2003 8:24
Shadow Re: Работа с диском на физическом уровне 26.03.2003 9:29
Shadow Re: Работа с диском на физическом уровне 26.03.2003 12:30
GLuk Re: Работа с диском на физическом уровне 26.03.2003 19:11
Shadow Re: Работа с диском на физическом уровне 28.03.2003 15:05
GLuk Re: Работа с диском на физическом уровне 28.03.2003 16:51
Shadow Re: Работа с диском на физическом уровне 3.04.2003 13:08
GLuk Re: Работа с диском на физическом уровне 3.04.2003 17:56
Shadow Re: Работа с диском на физическом уровне 6.04.2003 13:24
GLuk Re: Работа с диском на физическом уровне 6.04.2003 16:45
GLuk Re: Работа с диском на физическом уровне 6.04.2003 19:45![]() ![]() |
|
Текстовая версия | 8.12.2025 20:33 |