- •Введение.
- •Лекция 1. Архитектура эвм Понятие архитектуры эвм.
- •Архитектура фон Неймана.
- •Лекция 2. Микропроцессор. Характеристики микропроцессора. Структура универсального микропроцессора.
- •Характеристики процессора
- •Лекция 3. Организация памяти. Модели памяти.
- •Режимы работы микропроцессора
- •Лекция 4. Модели памяти.
- •Сегментированная модель памяти.
- •Формирование линейного адреса в реальном режиме.
- •Формирование линейного адреса в защищенном режиме
- •Страничная модель памяти
- •Лекция 5. Типы данных. Форматы команд. Форматы и типы данных
- •Формат машинной команды
- •Лекция 6. Архитектура мп 8086. Программная модель микропроцессора.
- •Лекция 7. Архитектура 32-разрядного универсального микропроцессора ia32
- •Лекция 8. Методы адресации
- •Лекция 9. Структура машинной команды.
- •Лекция 10. Структура программы на ассемблере.
- •Лекция 11. Система команд микропроцессора 8086. Команды пересылки данных
- •Команды пересылки данных
- •Команды преобразования типов
- •Команды преобразования данных.
- •Xlat [адрес_таблицы_перекодировки]
- •Лекция 12. Целочисленные арифметические команды двоичной арифметики
- •Команда сравнения как команда с арифметическим принципом действия
- •Лекция 13. Команды манипулирования битами
- •Логические команды
- •Команды сдвига
- •Коп операнд, счетчик_сдвигов
- •Команды линейного сдвига
- •Команды циклического сдвига
- •Дополнительные команды сдвига
- •Лекция 14. Команды передачи управления
- •Команда безусловного перехода
- •Команды условного перехода
- •Организация циклов
- •Лекция 15. Стек
- •Работа стека
- •Управление стеком
- •Доступ к элементам стека
- •Лекция 16. Модульное программирование. Процедуры Концепция модульного программирования
- •Понятие "процедура"
- •Описание процедуры
- •Команда вызова процедуры. Команда возврата управления
- •Организация интерфейса с процедурой
- •Возврат результата из процедуры
- •Лекция 18. Цепочки
- •Синтаксис цепочечных команд
- •Префиксы повторения
- •Цепочечные индексные регистры
- •Направление обработки цепочки
- •Пересылка цепочек
- •Сравнение цепочек
- •Поиск в цепочках
- •Загрузка цепочек
- •Запись данных в цепочку. Заполнение памяти
- •Лекция 19. Массивы
- •Описание и инициализация массива в программе
- •Доступ к элементам массива
- •Двухмерные массивы
- •Лекция 20. Структуры
- •Описание шаблона структуры
- •Определение данных с типом структуры
- •Ссылки на поля структур
- •Использование структурированных переменных
- •Лекция 21. Расширенные возможности современных микропроцессоров Архитектурные особенности
- •Дополнительные режимы адресации
- •Использование средств 32-разрядных процессоров в программировании
- •Лабораторный практикум Лабораторная работа №1. Этапы создания программы на ассемблере. Отладчик Turbo Debugger
- •Лабораторная работа №2. Команды пересылки данных. Арифметические команды
- •Задачи для самостоятельного решения
- •Лабораторная работа №3 . Команды для работы с битами.
- •Демонстрационные примеры
- •Задачи для самостоятельного решения
- •Лабораторная работа №4. Команды передачи управления
- •Лабораторная работа №5. Прерывания.
- •Демонстрационные примеры
- •Задачи для самостоятельного решения
- •Лабораторная работа №6. Модульное программирование. Подпрограммы
- •Задачи для самостоятельного решения
- •Лабораторная работа №7. Стек.
- •Лабораторная работа №8 . Массивы
- •Задачи для самостоятельного решения
- •Лабораторная работа №9. Цепочки
- •Демонстрационные примеры.
- •Задачи для самостоятельного решения
- •Лабораторная работа №10. Структуры
- •Демонстрационные примеры.
- •Лабораторная работа №11. Файлы
- •Демонстрационные примеры
- •Задачи для самостоятельного решения
- •Литература
Задачи для самостоятельного решения
Дан текстовый файл f. Получите все его строки, содержащие более 20 символов.
Дан текстовый файл. Перепишите в файл g все компоненты файла f с заменой в них символа "0" на символ "1" и наоборот.
Дан текстовый файл f. Получите самую длинную строку файла. Если в файле имеется несколько строк с наибольшей длиной, то получите одну их них.
Дан текстовый файл f. Запишите в "перевернутом" виде строки файла f в файл g. Порядок строк в файле g должен: (а) совпадать с порядком исходных строк в файле f; (б) быть обратным по отношению к порядку строк исходного файла.
Дан текстовый файл. Перепишите компоненты файла f в файл g, вставляя в начало каждой строки по одному пробелу. Порядок компонент должен быть сохранен.
Даны текстовый файл и строка s. Получите все строки файла f, содержащие в качестве фрагмента заданную строку s.
Дан текстовый файл f. Исключите пробелы, стоящие в концах его строк. Результат поместите в файл f1.
Даны два текстовых файла f и g. Определите, совпадают ли символы файла f с символами файла g. Если нет, то получите номер первой строки и позицию первого символа в этой строке, в которых файлы f и g отличаются между собой. В случае, когда один из файлов имеет n символов (n 7. 00) и повторяет начало другого (более длинного) файла, ответом должно быть число n+1.
Дан текстовый файл f, компоненты которого являются натуральными числами. Количество чисел в файле кратно 4. Первые два числа из каждых четырех задают координаты левого верхнего угла прямоугольника, следующие два числа ─ координаты его правого нижнего угла. Постройте прямоугольники, заданные в файле f.
Дан текстовый файл f, содержащий сведения о сотрудниках учреждения, записанные по следующему образцу:
Фамилия Имя Отчество
Фамилия Имя Отчество
Запишите эти сведения в текстовом файле g, используя образцы:
(а) Имя Отчество Фамилия (б) Фамилия И.О.
Имя Отчество Фамилия Фамилия И.О.
...
Дан текстовый файл f, содержащий список студентов университета (фамилия, имя). Создайте текстовый файл g следующего вида:
Предмет1 Предмет2 Предмет3
Фамилия1 Оценка Оценка Оценка
Фамилия2 Оценка Оценка Оценка
Фамилия3 Оценка Оценка Оценка
Оценки должны вводиться с клавиатуры через пробел.
Дан текстовый файл f. Найдите самое длинное слово среди слов, второй буквой которых является "e"; если слов с наибольшей длиной несколько, то найдите последнее. Если таких слов нет вообще, то сообщите об этом.
Напишите программу "склеивания" двух файлов.
Реализуйте последовательное добавление содержимого нескольких текстовых файлов к пустому файлу с заданным именем.
Литература
Абель П. Язык Ассемблера для IBM PC и программирование. ─ М.:
Высш.шк., 1992. ─ 444 с.
Вирт H. Алгоритмы + структуры данных = программы. - М.: Мир,
1985. - 406 с.
Ирвин К. Язык ассемблера для процессоров Intel. - М.: Издательский дом "Вильямс", 2005. - 912 с.
Использование Turbo Assembler при разработке программ. - Киев:
Диалектика, 1994. - 288 с.
Кудрявцева И.А., Сазонова Н.В., Швецкий М.В. Система лаборатор-
ных работ по обучению программированию на языке ассемблера для микропроцессоров Intel: Учебное пособие к курсу "Архитектура вычислительных систем". - СПб.: Изд-во "Интерлайн", 2004. - 336 с.
Орлов С.Б. и др. Программа-справочник по системе программирования ТУРБО АССЕМБЛЕР 2.0. Руководство пользователя. - М.: 1990. -256 с.
Пильщиков В.Н. Программирование на языке ассемблера IBM PC.
-М.: ДИАЛОГ-МИФИ, 1994. - 288 с.
Пирогов В.Ю. 0 Ассемблер и дизассемблирование. - СПб.: БХВ-Петербург, 2006. - 464 с.
Сван Т. 0 Освоение Turbo Assembler. - К.: Диалектика, 1996.
Таненбаум Э. Архитектура компьютера. - СПб.: Питер, 2006. 699с.
Юров В.И. Assembler. - СПб: Питер, 2002. - 624 с.
Юров В.И. Assembler: практикум. - СПб: Питер, 2001. - 400 с.
