Сейчас на форуме: hgdagon, asfa (+4 невидимых)

 eXeL@B —› Программирование —› Need DOS help
Посл.ответ Сообщение

Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 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 ;продолжение цикла




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 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 ;прерывание для чтения секторов

Ну а дальше сам

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 15 февраля 2007 15:17
· Личное сообщение · #3

УУУУ а куда, куда читаем?



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 15 февраля 2007 22:49
· Личное сообщение · #4

Freecod пишет:
читает данные с дискеты в EMB через XMS

Что такое EMB не знаю, но тут люди которые знают работу с XMS, думаю не живут.
Возможно на васме(wasm.ru) найдешь ДОС-монстров.
XMS - использует спец. драйвер для расширения памяти ДОС выше 1 Мб - фактически это уже не ДОС.
Если же тебя только INT 25 волнует, то это без проблем.




Ранг: 113.0 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 15 февраля 2007 23:32
· Личное сообщение · #5

XMS отлична описан у Зубкова С.В. (hunt for "ASSM01.CHM" file), да он вообще простой ;)
А селектор скорее всего такой же как и в "pure DOS".

-----
The one derivative you manage is the one I abhore (c) Slipknot




Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 15 февраля 2007 23:50
· Личное сообщение · #6

Не, всем спасибо, экз сдал Живём!


 eXeL@B —› Программирование —› Need DOS help
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати