
- •Введение
- •Цели и задачи курса
- •1. Общие сведения о вычислительных машинах и вычислительных системах
- •1.1. Основные понятия и определения
- •1.2. Классификация эвм по назначению и типу
- •1.3. Типы эвм
- •1.4. Основные принципы организации вычислительных машин и систем
- •1.5. Основные характеристики вычислительных машин и систем
- •1.5.1 Стоимость и цена аппаратного обеспечения
- •1.5.2. Производительность вычислительных машин и систем
- •Контрольные вопросы
- •2. Фукциональный состав и назначение основных устройств вм
- •2.2. Назначение шин, шина с тремя состояниями
- •2.3. Назначение устройств ввода-вывода, способы информационного обмена
- •Контрольные вопросы
- •3. Организация процессоров
- •3.1. Введение в функциональную организацию процессора
- •3.2. Операционный блок
- •3.3. Блок управления
- •3.4. Устройства управления процессора
- •3.4.1. Классификация уу
- •3.4.2. Аппаратные уу
- •3.4.3. Микропрограммные уу
- •3.5. Интерфейсный блок
- •3.6. Назначение стека
- •Контрольные вопросы
- •4. Система команд и адресация данных
- •4.1. Группы команд
- •4.2. Адресация операндов
- •4.3. Методы адресации
- •5. Память вычислительных машин
- •5.1. Иерархическая организация системы памяти
- •5.2. Иерархическая структура зу
- •5.3. Основные характеристики зу
- •5.4. Организация связи оп с процессором
- •5.5. Ассоциативные зу
- •Контрольные вопросы
- •6. Принципы обмена данными в вычислительных машинах. Интерфейсы вычислительных машин, организация прерываний
- •6.1. Шины
- •6.1.1. Синхронная шина
- •6.1.2. Пересылка данных за несколько тактов
- •6.1.3. Асинхронные шины
- •6.1.4. Заключительные замечания
- •6.2. Назначение и классификация шинных интерфейсов
- •6.3. Организация и обмен данными между периферийными устройствами и вычислительным ядром системы
- •6.4. Организация прерываний
- •6.4.1. Программные прерывания
- •Команда int
- •6.4.2. Обработка прерываний
- •6.4.3 Таблица векторов прерываний
- •6.4.4. Запуск обработчиков прерываний
- •6.5. Последовательная передача данных
- •7. Вычислительные системы параллельной обработки данных
- •7.1. Параллельная обработка как архитектурный способ повышения производительности
- •7.2. Параллелизм и конвейеризация – способы параллельной обработки данных
- •7.2.1. Параллельная обработка данных (параллелизм)
- •7.2.2. Конвейеризация
- •7.3. Классификация архитектур вычислительных систем
- •7.4. Мультипроцессоры и мультикомпьютеры
- •7.5. Классификация мультипроцессорных систем по способу организации основной памяти
- •7.6. Закон Амдала (эффективность параллельных программ)
- •8. Компьютер ibm pc и операционная система ms dos
- •8.1.Архитектурные особенности процессоров семейства ia-32
- •8.2. Организация памяти компьютера ibm pc, работающего под управлением ms dos
- •Видеопамять
- •Пзу bios
- •Системные ресурсы компьютера
- •8.3. Основы программирования на языке Ассемблера
- •8.3.1. Выполнение программ
- •8.3.2. Написание, компиляция и отладка программы
- •8.3.3. Дополнительные средства ассемблера
- •9. Темы заданий для контрольной работы
- •Тема 1. Архитектура процессора Intel 8086.
- •Контрольные вопросы
- •9.1. Аппаратная модель процессора 8086
- •Программная модель процессора
- •Тема 2. Структура ехе- и сом- программы. Вывод на экран.
- •9.2. Структура программы на языке Ассемблера.
- •9.3. Вывод информации на экран
- •Тема 3. Циклы, ввод с клавиатуры.
- •Тема 4. Ввод чисел. Перевод чисел в различные системы счисления.
- •9.4. Перевод чисел в различные системы счисления
- •Тема 5. Работа с прерываниями: перехват и восстановление.
- •Варианты задания
- •Контрольные вопросы
- •Тема 6. Программирование таймера 8254 и генерация звука
- •Программирование звукового канала таймера.
- •9.7. Инициализация таймера
- •9.8. Назначение каналов таймера в ibm pc
- •9 .9. Генерация тона.
- •9.10. Варианты задания
- •Тема 7. Ответы на контрольные вопросы по лекционному курсу
- •Вариантов заданий Таблица 9.4
- •Литература
8.3.2. Написание, компиляция и отладка программы
Входной информацией для ассемблера (программа TASM.EXE) является исходный файл - текст программы на языке ассемблера в кодах ASCII. Указанный файл может быть подготовлен с использованием любого текстового редактора. В результате работы ассемблера может получиться до 3-х выходных файлов:
- объектный файл представляет собой вариант исходной программы, записанный в машинных командах; это еще не совсем готовая к выполнению программа;
- листинговый файл является текстовым файлом в кодах ASCII, включающим как исходную информацию, так и результат работы программы ассемблера;
- файл перекрестных ссылок содержит информацию об использовании символов и меток в ассемблерной программе.
Существует много способов указывать ассемблеру имена файлов. Первый и самый простой способ - это вызов команды без аргументов. В этом случае ассемблер сам поочередно запрашивает имена файлов: входной (достаточно ввести имя файла без расширения .ASM), объектный, листинговый и файл перекрестных ссылок. Для всех запросов имеются режимы, применяемые по умолчанию, если в ответ на запрос нажать клавишу возврата:
- объектному файлу ассемблер присваивает то же имя, что и у исходного, но с расширением .OBJ;
- для листингового файла и файла перекрестных ссылок принимается значение NUL - специальный тип файла, в котором все, что записывается, недоступно и не может быть восстановлено.
Если ассемблер во время ассемблирования обнаруживает ошибки, он записывает сообщения о них в листинговый файл. Кроме того, он выводит их на экран дисплея.
Другой способ указать ассемблеру имена файлов - это задать их прямо в командной строке через запятую при вызове соответствующей программы, например:
TASM Test, Otest, Ltest, Ctest
При этом первым задается имя исходного файла, затем объектного, листингового и, наконец, файла перекрестных ссылок. Если какое-либо имя пропущено, то это служит указанием ассемблеру сгенерировать соответствующий файл по стандартному соглашению об именах.
Программа, полученная в результате ассемблирования (объектный файл), еще не готова к выполнению. Ее необходимо обработать командой редактирования связей (TLINK.EXE), которая может связать много различных объектных модулей в одну программу и на основе объектного модуля формирует исполняемый загрузочный модуль.
Входной информацией для программы TLINK являются имена объектных модулей (файлы указываются без расширения .OBJ). Если файлов больше одного, то их имена вводятся через разделитель «+». Модули связываются в том же порядке, в каком их имена передаются программе TLINK. Кроме того, TLINK требует указания имени выходного исполняемого модуля. По умолчанию ему присваивается имя первого из объектных модулей, но с расширением ЕХЕ. Вводя другое имя, можно изменять имя файла, но не расширение .ЕХЕ. Далее можно указать имя файла, для хранения карты связей. Допускается любое имя, по умолчанию формирование карты не производится. Последнее, что указывается программе TLINK- это библиотеки программ, которые могут быть включены в полученный при связывании модуль. По умолчанию такие библиотеки отсутствуют. При компиляции .СОМ -программы, в командной строке вызова программы редактора связей (TLINK.EXE) необходимо указать ключ «/t».
Разработка и отладка программного обеспечения является трудоемким этапом проектирования микропроцессорных систем, требующим больших затрат времени. В качестве программного средства для отладки программ на языке ассемблера студентам рекомендуется WinASM 2.0 (распространяется бесплатно).
Это программа, позволяющая программировать на языке Assembler под Windows с полноценным GUI интерфейсом. Фактически это программная среда разработки, использующая внешние компилятор (Tasm.exe) и линкер (Tlink.exe). Особенности:
1.Полный контроль над ошибками - строки с ошибками помечаются, коды ошибок выводятся в специальном окне внизу главной формы программы.
2. Полноценное управление горячими клавишами.
3. При открытии файла с текстом программы осуществляется его предварительный просмотр.
4. Есть возможность указывать файлы внешних компиляторов и линкеров, а также указывать параметры компиляции.
5. Возможность запуска DOS оболочки Norton Commander v1.0 прямо из программы (например, для отладки резидентных программ).
6. Возможность запуска TeachHelp прямо из программы (справочник по ASM).
7. Полноценное редактирование исходного текста программы (поиск, замена, отмена изменений).
8. Книга Abel'я и большое количество примеров программ на Assembler.
9. Автоматическое ассоциирование файлов *.asm с WinASM 2.0.
10. Автоопределение кодировки (DOS/WIN) при открытии файлов.