СК
Светлана Конаховская

кто поможет с ассемблером?

нужно сделать следующее:
Вывести на дисплей объем свободного пространства на заданном магнитном диске. Идентификатор диска (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 и т. д.

СР
Светлана Романихина

Иди на ответы гугл, тут точно нет тех, кто знает ассемблер.

Похожие вопросы
Вопрос по ассемблеру
Помогите с ассемблером
Задача на ассемблере
Адресация в ассемблере
Где скачать ассемблер ?
ассемблер (умножение)
Задачка по ассемблеру
Ассемблер
Помогите по ассемблеру
Помогите с ассемблером