- •По курсу: ”организация эвм и систем”
- •Печатается по решению редакционно-издательского совета
- •Введение
- •1Введение в архитектуру реального режима ibm pc
- •Память и процессор
- •Распределение адресного пространства
- •Система прерываний
- •Система ввода-вывода
- •Архитектурные особенности процессоров ia-32
- •Дополнительные режимы адресации
- •Использование средств 32-разрядных процессоров в программировании
- •2Общие указания по выполнению лабораторных работ
- •Лабораторная работа № 1 Изучение структуры программы и способов адресации мп 8086
- •Домашняя подготовка
- •Лабораторное задание
- •Варианты задания
- •Контрольные вопросы
- •Теоретическая часть
- •Способы адресации и оптимизация программ
- •Строковые команды
- •Сканирование строки.
- •Загрузка регистра из строки.
- •Сегментная структура программ (структура и образ памяти программы .Exe).
- •Двоично-десятичные числа
- •Лабораторная работа № 2. Организация доступа к дискам в режиме ms dos и анализ системных ошибок.
- •Домашняя подготовка
- •Лабораторное задание
- •Варианты заданий
- •Контрольные вопросы
- •Теоретическая часть
- •Лабораторная работа № 3. Организация прерываний и резидентные программы.
- •Домашняя подготовка
- •Лабораторное задание
- •Контрольные вопросы
- •Варианты задания
- •Теоретическая часть (См. Также разделы 1.3 и 2.4)
- •3Организация прерываний и резидентные программы.
- •Резидентные программы
- •Механизм прерываний
- •Структура и образ памяти программы .Сом
- •Примеры резидентных программ
- •Лабораторная работа № 4. Системное время в компьютерах ibm pc
- •Варианты задания
- •Домашняя подготовка
- •Контрольные вопросы
- •Теоретическая часть
- •4 Системное время в компьютерах ibm pc
- •Измерение частоты при помощи rdtsc
- •Назначение каналов таймера в ibm pc
- •Библиографический список
- •Приложение Функции ms dos для выполнения лабораторных работ
- •Установка вектора прерывания
- •Чтение вектора прерывания
- •Завершение программы
- •Создание файла
- •Закрытие файла
- •Чтение из файла
- •Очистка экрана
- •Дополнительные средства ассемблера
Лабораторная работа № 2. Организация доступа к дискам в режиме ms dos и анализ системных ошибок.
Цель работы: состоит в изучении возможностей MS DOS при организации доступа к дискам как к набору файлов и директорий.
Домашняя подготовка
Ознакомиться с теоретической частью лабораторной работы.
Изучить назначение и возможности функций для работы с файлами.[4,13,14]
В соответствии с вариантом задания написать программу на языке ассемблера.
Подготовить ответы на контрольные вопросы.
Лабораторное задание
Ввести текст программы, составленной в соответствии с вариантом задания.
Отладить введенную программу и показать результат работы программы преподавателю.
Ответить на контрольные вопросы.
Составить отчет.
Варианты заданий
Вариант 1. Написать программу, которая попытается создать файл на диске «А» при условии, что он полностью занят. Обработать ошибки при помощи INT24h. Определить код ошибки и вывести на экран сообщение «Недостаточно места на диске А».
Вариант 2. Найти последний байт файла и дописать в конец файла 7 дополнительных байт. В случае ошибки обработать её при помощи INT 24h.
Вариант 3. Написать программу, которая определит метку тома дискеты. Если дискета не вставлена в дисковод, то обработать ошибку с помощью INT24h. Если дискета присутствует, то создать на ней файл с именем «Data_file» и записать в него имя метки.
Вариант 4. Записать текст «My text» в файл с именем «My_file» диска А. Если он отсутствует, то обработать ошибку с помощью INT24h.
Вариант 5. Создать файл на диске «А», открыть его для чтения и попытаться записать строку символов. Обработать ошибку при помощи INT24h и вывести на экран сообщение «Файл доступен для чтения».
Вариант 6. Написать программу поиска на диске «А» файла с именем «test.001». Отработать варианты :
- такого файла нет;
- дискета отсутствует;
- если файл найден, то вывести на экран имя найденного файла.
Вариант 7. Найти на диске «А» файл с именем «Rename.001» и переименовать его. Отработать варианты :
такого файла нет;
дискета отсутствует.
Вариант 8. Создать на диске «А» файл и записать в него текст (строка размером 20 байт) из сегмента данных. Отработать варианты:
такого файла нет;
дискета отсутствует.
Вариант 9. Создать файл, открыть его в режиме записи и попытаться считать первые 7 байт. Обработать ошибку при помощи INT 24h. Вывести на экран сообщение об ошибке.
Вариант 10. Создать на диске «А» файл. Изменить дату его создания на 31 декабря 2000 года. Обработать варианты, когда дискета отсутствует при помощи INT24h.
Вариант 11. Определить размер файла «text_file.001» на диске «А». Отработать варианты:
такого файла нет;
вывести на экран сообщение «Размер файла: …».
Вариант 12. Определить размер файла «text_file.001» и записать результат в файл с другим именем, если такого файла не существует, обработать ошибку. Для обработки ошибок применить INT24h. Вывести на экран сообщение о не существование файла.
Вариант 13. Открыть файл для чтения и записи, считать из файла первые 5 байт, вывести их на экран. В случае ошибки обработать её при помощи INT24h.
Вариант 14. Создать файл с атрибутом «только для чтения». Попытаться записать в него строку. Обработать ошибку при помощи INT24h. Изменить атрибут и записать строку.
Вариант 15. Прочитать имя файла, записанного на диске «А», и вывести его на экран. Обработать ситуацию, когда дискета отсутствует при помощи INT24h.
Вариант 16.Открыть файл для чтения и записи, считать из него 3 первых байта, а на их место записать код 3-х байтной команды безусловного перехода. В случае ошибки файл закрыть, иначе вывести сообщение об успешной операции.
Следует помнить, что при открытии файла указатель устанавливается на начало файла автоматически. Если указатель установлен где-то на середину файла, то, закрыв файл, а затем обратно открыв его, то указатель установится на начало файла. При чтении файла указатель перемещается на количество прочитанных байт. Т.е. если файл имеет длину 3.000 байт, то прочитав 1.500 байт, указатель переместится на середину файла.