кто поможет с ассемблером?
нужно сделать следующее:
Вывести на дисплей объем свободного пространства на заданном магнитном диске. Идентификатор диска (A – Z) ввести с клавиатуры.
подскажите как
нужно сделать следующее:
Вывести на дисплей объем свободного пространства на заданном магнитном диске. Идентификатор диска (A – Z) ввести с клавиатуры.
подскажите как
Если не ошибаюсь, вам нужно вот это: Получение размера свободного дискового пространства (функция 36H). Данная функция выдает информацию о дисковой памяти. Для выполнения функции необходимо загрузить в регистр DL номер дисковода (0 - текущий дисковод, 1 - A, 2 - B и т. д.) :
MOV AH,36H ; Функция выдачи свободного пространства.
MOV DL,0 ; Текущий дисковод.
INT 21H ; Вызов DOS-прерывания.
При указании неправильного номера дисковода операция возвращает в регистре AX FFFFH. Если номер дисковода правильный, то возвращаются:
в AX - число секторов на кластер;
в BX - число доступных кластеров;
в CX - число байтов на сектор;
в DX - общее число кластеров на диске.
Если это оно самое, то чтобы ввести это дело с клавы, видимо можно проделать след. кульбит:
MOV AH,1 ; Функц. 1 прерыв 21 - ожид. нажатия любой кнопки. Код символа - в al
INT 21H
SUB AL,30H ; Преобразуем код символа в реальное число
MOV DL,AL ; И помещаем его в DL (что и требуется)
MOV AH,36H ; Функция выдачи свободного пространства.
INT 21H ; Вызов DOS-прерывания.
С клавы вводить соответсвенно не имя диска (С, D и т. д.) а идентификатор - 0 (тек. диск) , 1 ..2 и т. д.
Иди на ответы гугл, тут точно нет тех, кто знает ассемблер.