Разработка командного процессора, реализующего команды dir и mkdir на ассемблере — страница 2

  • Просмотров 5927
  • Скачиваний 364
  • Размер файла 21
    Кб

Ассемблер, требуют знаительно меньше обье- ма памяти и времени выполнения. Во-вторых, знание языка Ассемблер и результирующего машинного кода дыет понимание архитектуры машины, что врядли обеспечивается при работе на языках высокого уровня. Хотя большинство специалистов в области программного обеспечения ведут раз- работки на языках высокого уровня, таких, как Паскаль или СИ, что про- ще при написании программ, но наиболее

мощное и эффективное програм- мное обеспечение полностью или частично написано на языке Ассемблер. 1. Анализ технического задания В данном курсовом проекте необходимо разработать программу на язы- ке Ассемблер для МП Intel 8086 реализующую функции командного процес- сора DIR и MKDIR. Т.е. наша программа должна создавать подкаталог c указанием диска и маршрута (функция MKDIR) и выводить, указанный пользоватем каталог. Вовремя создания

подкаталога вносятся изменения в таблицу размещения файлов (FAT), с тем чтобы сектора, используемые этим подкаталогам были доступны другим файлам. Для роботы с дисковой памятью в расширенной версии DOS нам понадо- бятся операции, которые включают использование строк в формате ASCIIZ для начальной установки дисковода, пути доступа и имени файла; файло- вого номера для доступу к файлу; специальных кодов возврата. Для создания

подкаталога методом дескриптора файла используется функция 39H прерывания 21H. В DS:DX заносится строка ASCIIZ , содержа- щей идентификацию файла (все параметры необязательные), строка должна завершаться 00H, например: PATHNAME DB 'C:\UTIL\NU.EXE',0 Обратная косая (или прямая косая) используется в качестве разделителя. Hулевой байт (zero) завершает строку (отсюда название ASCIIZ). При успешной операции создания подкаталога, флаг CF устанавливает- ся в 0. При

неуспешной операции флаг CF устанавливается в 1, а в ре- гистр AX помещается код ошибки, зависящий от операции (таблица 1.1), в нашем случае, если не найден указанный диск или путь, то в AX возвра- щается код ошибки 03. В имени создаваемого подкаталога не могут быть использованы следующие символы: " : ; / \ | ? * + = [ ] . , < > Таблица 1.1

┌────┬──────────────────────────────────────┐ │ N │ Описание ошибки │ ├────┼──────────────────────────────────────┤ │ 01 │ Ошибка номера функции │ │ 02 │ Файл не