Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RGR_SPO_5 вариант.docx
Скачиваний:
8
Добавлен:
05.09.2020
Размер:
233.44 Кб
Скачать

ФГБОУ ВО Уфимский государственный авиационный технический университет

Кафедра АСУ

100

1

2

3

4

5

6

7

8

9

10

11

12

90

80

70

60

50

40

30

20

10

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К расчетно-графической работе

по дисциплине «Системное программное обеспечение»

НИЗКОУРОВНЕВОЕ СИСТЕМНОЕ

ПРОГРАММИРОВАНИЕ

ДЛЯ IBM PC

Группа ИВТ-314

Фамилия И.О.

Подпись

Дата

Оценка

Студент

Габдрахманова Л.А.

Консультант

Лянцев О.Д.

Принял

Лянцев О.Д.

Уфа 2019 г.

Федеральное агентство по образования

Государственное образовательное учреждение высшего профессионального образования

«Уфимский государственный авиационный технический университет»

Кафедра Автоматизации систем управления

ЗАДАНИЕ

на РГР проект по дисциплине «Системное программное обеспечение»

Студент_Габдрахманова Л.А. __ Группа__ИВТ-314 ___ Консультант__Лянцев О.Д.__

ФИО № акад. гр. ФИО

  1. Тема курсовой работы (наименование темы)

Разработка программы с помощью низкоуровневых средств на

языке ассемблера

  1. Основное содержание:

Вариант 5: Переслать файл FILE_SPO.txt из каталога OLDDIR в каталог NEWDIR, изменив его имя на MYFILE.txt

  1. Требования к оформлению:

    1. Пояснительная записка должна быть оформлена в редакторе Microsoft ®Word в соответствии с требованиями ___________ЕСКД,ЕСПД_________________________

ЕСКД, ЕСПД, ГОСТ и др.

    1. В пояснительной записке должны содержаться следующие разделы:

Титульный лист, задание, введение, обоснование выбора

низкоуровневых функций, текст программы с

комментариями, примеры выполнения программы, заключение

    1. Графическая часть должна содержать:

Примеры выполнения программы

Дата выдачи «___»__________20__г. Дата окончания «__»_______20__г.

Руководитель____________________

подпись

Оглавлени

Введение 4

Выбор системных функций и разработка алгоритма 6

Блок – схема программы: 7

Текст программы с необходимыми комментариями 8

Скриншоты программы 10

Заключение 11

Литература 12

Введение 4

Выбор системных функций и разработка алгоритма 6

Блок – схема программы: 7

Текст программы с необходимыми комментариями 8

Скриншоты программы 10

Заключение 11

Литература 12

Введение

Распространение микрокомпьютеров послужило причиной пересмотра отношения к языку ассемблера по нескольким причинам. Ассемблерные программы могут быть очень эффективными. Из программистов, с равными навыками и способностями, работающий на языке ассемблер создаст программу более компактную и быстродействующую, чем такая же программа, написанная на языке высокого уровня. Это так практически для всех небольших или средних программ. К сожалению, по мере возрастания размеров, программы на языке ассемблера теряют часть своих преимуществ. Это происходит из-за необходимого в ассемблерной программе внимания к деталям. В небольших программах это позволяет оптимизировать работу программы с аппаратными средствами. В больших же программах огромное количество деталей может помешать вам, эффективно, работать над самой программой, даже если отдельные компоненты программы окажутся очень неплохими. Безусловно, программирование на языке ассемблера отвечает потребностям не каждой программы. Программы на языке ассемблера очень точны. Поскольку этот язык позволяет программисту непосредственно работать со всем аппаратным обеспечением, ассемблерная программа может делать то, что недоступно никакой другой программе. Несомненно, что в программировании устройства ввода-вывода, где требуется контроль над отдельными разрядамирегистров устройства, программирование на языке ассемблера - единственный подходящий выбор.

И последняя причина для изучения программирования на языке ассемблера. Только через написание программ на этом уровне детализации вы можете понять, как работает машина на самом нижнем уровне. Если вы хотите узнать о компьютере все, вы должны быть знакомы с его языком ассемблера. Единственный способ добиться этого - писать программы на этом языке.

В данной расчетно-графической работе поставлена цель изучения возможностей операционной системы MS-DOS и освоить основы системного программирования с помощью ассемблера. Изучение функций DOS и BIOS, которые являются основными компонентами операционных систем персональных компьютеров, позволит более подробно рассмотреть те процессы, которые протекают в системе при выполнении программы; ознакомиться с механизмом программных прерываний, с помощью которых происходит обращение к этим функциям.

Выбор системных функций и разработка алгоритма

В первую очередь, исходя из поставленной задачи, рассмотрим структуру com-файла и определим функции ввода и вывода.

Программа типа .com содержит лишь один сегмент, включающий все компоненты программы: PSP (префикс программного сегмента - это область размером 100h байт, которая содержит информацию необходимую DOS для работы программы), программный код (т.е. оттранслированные в машинные коды программные строки), данные и стек. После загрузки программы все сегментные регистры (CS, DS, ES, SS) указывают на начало PSP. Указатель стека инициализируется числом FFFEh. Отсюда следует, что, независимо от фактического размера программы ей выделяется 64 Кбайт адресного пространства, всю нижнюю часть которой занимает стек.

Первое слово PSP содержит номер прерывания DOS, которое будет приводить к завершению программы. Когда выполняется последний оператор RET программы, то значения на вершине стека указывают счетчику команд (регистр IP) на начало PSP, таким образом, код завершения выполняется как следующая инструкция программы.

56h- функция DOSпереименовать/переместить файл

10h – функция BIOS считывания клавиши с клавиатуры. Используется для создания задержки, чтобы запущенная программа сразу не закрывалась после выполнения.

4C00h – функция DOS завершения программы. Используется для выхода из программы.

Соседние файлы в предмете Системное программное обеспечение