Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как найти объем жоского на ассемблере

st Ученик (151), на голосовании 14 лет назад
Помогите пожалуста с нахождением объема жеского диска архитектуры ЦХС, вот мой алгоритм для нахождения может скажите что не правильно
mov ah,08h
mov dl,80h
int 13h

mov al,Cl
and al,00111111B
mul dh
shr CX,6
mul CX
mov Bx,4
div Bx

mov bx,ax
xor ax,ax
mov ax,dx
shl EAX,16
mov ax,bx
Голосование за лучший ответ
Михаил Поликарпов Гуру (3843) 14 лет назад
вот выдрал из какой-то книги

Функция 36H прерывания 21H сообщает сколько имеется свободного пространства на диске. Единственный входной регистр DL, который должен содержать номер накопителя. Hакопитель по умолчанию обоз¬начается 0, накопитель A - 1 и т. д. При возврате BX содержит число доступных кластеров, AX - число секторов в кластере, а CX - количество байт в секторе. Hебольшое упражнение в умножении дает желаемый результат. В следующем примере проверяется, что на двухсторонней дискете осталось по меньшей мере 2K дискового пространства:
MOVAH,36H;номер функции
MOVDL,1;накопитель A
INT21H;получаем информацию
CMPBX,2;имеется ли 2 свободных кластера?
JLRUNNING_OUT;если нет, то сообщаем об этом

хотя твой вариант наверно тоже верный
Похожие вопросы