Кодирование алгоритма

Кодирование алгоритма. Запишем разработанный нами алгоритм в мнемокоде на языке Ассемблер.

Далее более подробно опишем основные прерывания, которые будем ис- пользовать.

Основным прерыванием, используемым в программе, является прерыва- ния INT 21H DOS Functions.

Используемые функции этого прерывания следующие Параметры Описание Входные AH 02H - Вывод на дисплей DL символ для посылки на стандартное устройство Выходные нет Входные AH 09H - Вывод строки на дисплей DSDX Адрес строки, заканчивающаяся знаком ASCII 24H Выходные нет Входные AH 1aH - Установка адреса DTA. DSDX адресс DTA области Выходные нет Входные AH 19H - Получить информацию о текущем диске Выходные AL DOS current default drive number 0A, 1B, и т.д. Входные AH 36H - Получить информацию о свободном месте на диске DL drive number 0default, 1A, и т.д. Выходные AX ffffH если DL было invalid drive number иначе количество секторов верно BX количество свободных секторов allocation units CX байт на сектор обычно 512 DX общее количество секторов на диске Доп.информация Выходная информация обычно подсчитывается как общий размер диска и количество свободного места на диске Если AX ffffH, то вы не правильно указали диск. Иначе, свободного места в байтах AX CX BX общий размер в байтах AX CX DX Если сектора по 512 байт, более просто подсчитывать КБ свободного места в КБ AX BX 2 общий размер в КБ AX DX 2 Входные AH 3fH - Создать подкаталог Функция описывалась нами ранее.

Входные AH 47H - Информация о текущем директории DL drive number 0default, 1A, etc. DSSI address of a local buffer to hold a pathname 64 bytes Выходные AX передается ошибка Таблица 1.1 Входные AH 4fH - Hайти следующий совпадающий файл DSDX адресс данных с предыдущего 4eH поиска файла Входные AH 4eH - Hвайти первый совпадающий файл DSDX строка пути к файлу ASCIIZ CX атрибут файлы для поиска Кроме 21h прерывания мы использовали функцию 0eH прерывания INT 10H Данная функция обеспечивает вывод символа на монитор в режиме те- летайпа.

Для выполнения этой функции в AL помещают выводимый символ, в BL цвет текста и номер строницы в BH. Hапример, символы CR 0dH, LF 0aH, звуковой сигнал 07H и т.д. Данная функция автоматически кур- сор, переводит символы на следующую строку, выполняет прокрутку экра- на и сохраняет текущие атрибуты экрана. Также мы использовали прерывание INT 20H для выхода в DOS. Оно не имеет параметров.

Полный текст программы приведен в Приложении. 5. Тестирование и отладка программы DASM kp.com ВВОД KP v1.0, Copyright c 1997, БГУИР, Федосенко Д.В. При запуске без параметров выводит подказку Запуск с параметром должен иметь вид kp дисккаталогмаска D M Где маска при использовании D - любые символы и имена, включая и при использовании M - название подкаталога.

D - вывод директория по маске M - создание подкаталога по маске Напримерkp CLANGBP. D - вывод всех файлов и каталогов из CLANGBP kp C D - вывод только каталогов из корневого каталога диска C kp CUTIL M - создание подкаталога UTIL в корневом диска С kp D - вывод всех файлов и каталогов по текущему пути Если ВЫ используете M, то указывать название подкаталога обязательно DASM kp ccd. D ВВОД Вывод содержимого каталога ccd. Метка диска DIMKA . КАТАЛОГ 290197 181844 КАТАЛОГ 290197 181844 readme.txt 1834 191196 175840 rcdsim. com 6604 130995 030000 loadcd.exe 0352 130995 030000 rcdpc.sys 4231 130995 030000 runme.bat 40 060297 135438 307240К байт всего на данном диске 6160К байт свободно на диске DASM kp ccdutil M ВВОД ccdutil Подкаталог создан DASM kp ccd. D Вывод содержимого каталога ccd. Метка диска DIMKA . КАТАЛОГ 290197 181844 КАТАЛОГ 290197 181844 UTIL КАТАЛОГ 100497 195748 readme.txt 1834 191196 175840 rcdsim.com 6604 130995 030000 loadcd.exe 0352 130995 030000 rcdpc.sys 4231 130995 030000 runme.bat 40 060297 135438 307240К байт всего на данном диске 6152К байт свободно на диске DASM kp D ВВОД Вывод содержимого каталога Метка диска NPACD . КАТАЛОГ 190297 192034 КАТАЛОГ 190297 192034 THELP6 КАТАЛОГ 070497 220848 483552К байт всего на данном диске 8928К байт свободно на диске В процессе тестирования были замечены проблемы с выводом информа- ции при работе в системе WINDOWS95 v4.0095. Автор надеется, что с выходом системы WINDOWS98 проблем не будет.