нужно сделать следующее:
Вывести на дисплей объем свободного пространства на заданном магнитном диске. Идентификатор диска (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 и т. д.
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 и т. д.
Иди на ответы гугл, тут точно нет тех, кто знает ассемблер.
Похожие вопросы
- Помогите по ассемблеру
- Архитектура ЭВМ помогите с ассемблером
- Помогите с ассемблером
- Помогите с ассемблером (задачей про матрицы) внутри...
- Помогите с ассемблером
- помогите с Ассемблером
- помогите с ассемблером. если можно с объяснениями...огромное спасибо
- помогите с ассемблером (i8085) Программа должна считать количество нулей в ячейке. Какие команды использовать?
- Помогите!!! задача ассемблер.
- Помогите с Ассемблером пожалуйста