eXeL@B —› Программирование —› Need DOS help |
Посл.ответ | Сообщение |
|
Создано: 14 февраля 2007 23:29 · Личное сообщение · #1 Есть следующий код (DOS программа) читает данные с дискеты в EMB через XMS Какие параметры передаются и как поисходит чтение? Очень надо. Замечания "что, студент, сессия подкралась незаметно?" не приветствуются next_sector: ; считывание группы секторов mov al,number_drive ; похоже 1-й сектор mov dx,numb_s push cx mov cx,64d mov bx,offset buffer ; источник данных int 25h pop cx pop cx add numb_s,64d ; копирование блока памяти в EMB mov ah,0Bh ;ф-ия 0B - копирование блока call HMMEntryPt ;вызов драйвера or ax,ax ;проверка на ошибку jz Error ;если ошибка то переход на метку Error call OutDec ;вызов процедуры OutDec add word ptr DestOffset[0],32768d ;увеличение текущего смещения в EMB adc word ptr Destoffset[2],0 ;прибавляем 32кб в первое слово ;и 0 - во второе loop next_sector ;продолжение цикла |
|
Создано: 15 февраля 2007 05:35 · Личное сообщение · #2 mov al,number_drive ;номер диска (A-0,C-2,d-3 и т.д.) mov dx,numb_s ;номер логического сектора push cx mov cx,64d ;cx - число секторов для чтения mov bx,offset buffer ;начальный адрес области буфера int 25h ;прерывание для чтения секторов Ну а дальше сам ----- Что один человек сделал , другой всегда сломать может... |
|
Создано: 15 февраля 2007 15:17 · Личное сообщение · #3 |
|
Создано: 15 февраля 2007 22:49 · Личное сообщение · #4 Freecod пишет: читает данные с дискеты в EMB через XMS Что такое EMB не знаю, но тут люди которые знают работу с XMS, думаю не живут. Возможно на васме(wasm.ru) найдешь ДОС-монстров. XMS - использует спец. драйвер для расширения памяти ДОС выше 1 Мб - фактически это уже не ДОС. Если же тебя только INT 25 волнует, то это без проблем. |
|
Создано: 15 февраля 2007 23:32 · Личное сообщение · #5 |
|
Создано: 15 февраля 2007 23:50 · Личное сообщение · #6 |
eXeL@B —› Программирование —› Need DOS help |