Помощь - Поиск - Пользователи - Календарь
Полная версия: Читать с дискеты
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
zloy_pes
Нужно считать с дискеты пару байт:
.model tiny
.data
code dw ?
.code
org 100h
start:
;кодкодкодкод
mov ah, 2;(AX=2; INT 13h - ф-ция BIOS)
xor dl, dl ;DL=номер диска (0-флопак)
xor dh, dh;DH=номер головки
xor cl, cl ;CL=номер цилиндра (а на дискете есть цилиндры unsure.gif ?)
xor ch, ch ;CH=номер сектора (читаем с нулевого)
mov al, 3 ;читаем 3 сектора
mov bx, offset code ;es:bx - куда читать
int 13h ;no comments
;кодкодкодкод
ret
end start

Смотрю в AfdPro - после прерывания: CF (flag)=1 (насколько я понял - это свидетельствует об ошибке), и в памяти es:dx ничего не меняется. Подскажите - чего я делаю нетак?
Гость
Сектора (или цилиндры, точно не помню) нумеруются с 1.
xds
Сектора - от 1, цилиндры - от 0. Тебе надо mov cx,1.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.