Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000239.doc
Скачиваний:
23
Добавлен:
30.04.2022
Размер:
1.12 Mб
Скачать

8.3. Пример структуры программы

Фиксированной структуры программы на языке ассемблера нет, но в качестве типовой структуры небольшой программы, где используются три сегмента – команд, данных и стека, типичной является такая структура:

INCLUDE IO.ASM

STACK SEGMENT STACK ;Сегмент стека

DB 128 DUP (?)

STACK ENDS

DATA SEGMENT ;Сегмент данных

<описания переменных и т.п.>

DATA ENDS

CODE SEGMENT ;Сегмент команд

ASSUME CS:CODE, DS: DATA, SS: STACK

START: MOV AX, DATA

MOV DS, AX

<остальные команды программы>

CODE ENDS

END START ;конец программы,

Заключение

Учебное пособие рассматривает основы программирования на ассемблере для выполнения практического курса по дисциплине «Операционные системы».

Освоение базовых принципов разработки программ на языке ассемблера позволит лучше понимать особенности строения персонального компьютера и принципы создания и функционирования операционных систем.

Особое внимание в пособии уделено вопросам инициализации и пересылки данных, организации ветвлений и циклов, описанию приемов работы со стеком и подпрограммами.

Отдельная глава посвящена описанию программных сегментов и обзору базовых операций ввода-вывода.

Таким образом, учебное пособие содержит подробное описание основных технологий разработки программ на языке ассемблера.

Библиографический список

1. Пильщиков В.Н. Программирование на языке ассемблера IBM PC / В.Н. Пильщиков. - М.: «Диалог-МИФИ», 1994. - 288 с.

2. Назаров С.В. Операционные системы. Практикум / С.В. Назаров, Л.П. Гудыно, А.А. Кириченко. - М.: КУДИЦ-ПРЕСС, 2008. - 464 с.

3. Танненбаум Э. Современные операционные системы / Э. Танненбаум. 2-е изд. - СПб.: Питер, 2007. - 1038 с.

4. Юров В.И. Assembler. Учебник для вузов / В.И. Юров. -СПб: Питер, 2010. - 637 с.

5. Гордееев А.В. Операционные системы. учебник для вузов / А.В. Гордееев. - СПб: Питер, 2009. - 416 с.

Оглавление

Введение

3

1.

Особенности персонального компьютера

4

1.1. Оперативная память

4

1.2. Регистры

6

1.3. Представление данных

14

1.4. Представление команд

22

2.

Язык ассемблера. Начальные сведения

26

2.1. Лексемы

28

2.2. Предложения

31

2.3. Директивы определения данных

37

2.4. Директивы эквивалентности и присваивания

49

2.5. Выражения

55

3.

Пересылки. Арифметические команды

61

3.1. Обозначения операторов команд

61

3.2. Команды пересылки

62

3.3. Команды сложения и вычитания

70

3.4. Команды умножения и деления

79

3.5. Изменение размера числа

86

3.6. Примеры

89

3.7. Лабораторная работа № 1

95

4.

Переходы. Циклы

110

4.1. Безусловный переход

110

4.2. Команды сравнения и условного перехода

117

4.3. Команды управления циклом

123

4.4. Вспомогательные операции ввода-вывода

129

4.5. Массивы

133

4.6. Лабораторная работа № 2

148

5.

Программные сегменты

152

5.1. Сегментирование адресов в ПК

152

5.2. Программные сегменты

163

5.3. Начальная загрузка сегментных регистров

178

5.4. Структура программы

180

6.

Стек

183

6.1. Стек и сегмент стека

183

6.2. Стековые команды

186

6.3. Приемы работы со стеком

189

7.

Процедуры

193

7.1. Дальние переходы

193

7.2. Подпрограммы-процедуры

197

7.3. Передача параметров через регистры

205

7.4. Передача параметров через стек

211

7.5. Локальные данные процедур

217

7.6. Лабораторная работа № 3

220

8.

Ввод и вывод данных

225

8.1. Реализация основных операций ввода-вывода

225

8.2. Операции ввода-вывода

227

8.3. Пример структуры программы

231

Заключение

232

Библиографический список

233