- •Понятие архитектуры эвм. Эволюция универсальных эвм. Поколения эвм. Элементная база эвм.
- •Основы классификации эвм. Классификационные признаки. Принципы устройства последовательной эвм (архитектура фон Неймана). Технические показатели эвм.
- •Архитектура универсальной эвм с последовательным выполнением команд. Функциональное назначение, физические принципы действия и организация основных блоков.
- •Серия ibm-совместимых пэвм (ibm pc). Основные современные конфигурации. Технические показатели и характеристики. Другие типы аппаратных платформ пэвм.
- •Блочно-функциональное устройство персонального компьютера с магистральной организацией ( общей системной шиной ). Понятие открытой архитектуры.
- •Внутренние интерфейсы эвм. Системные и локальные шины. Контроллер шины. Иерархическая организация шин.
- •Контроллер шины
- •Основы систем счисления. Методы представления чисел и операции в позиционных системах счисления с различным основанием. Системы счисления в эвм.
- •Внутренняя организация числовых и символьных данных в эвм. Машинные форматы числовых данных пэвм. Стандарты кодировок символьной информации (ascii, unicode) и десятичных чисел (код bcd).
- •Кодировка ascii
- •Кодировка (encoding) Юникод - Unicode
- •Машинный формат с фиксированной точкой (Fixed Point Representation). Специальные коды для представления знаковых целых двоичных чисел и операций с ними(прямой, обратный, дополнительный).
- •11. Машинный формат с плавающей точкой (Float Point Representation). Параметры форматов сопроцессора intel (fpu 80x87).
- •Функционально-логическая организация микропроцессоров серии intel 80x86. Основные блоки и устройства: - назначение, функции, принципы действия. Режимы работы мп и способы адресации операндов.
- •Программная модель мп Intel (ia-32). Система регистров мп. Назначение, типы регистров. Регистры прикладного программиста. Флаги.
- •Специальные типы регистров защищенного режима мп (ia-32): управляющие, отладки, системные адресные регистры. Селекторы сегментов: - организация в разных режимах.
- •Регистровая (локальная) память мп. Сверхбыстрая буферная память. Внешний и внутренний кэш: - алгоритмы обслуживания. Стековая (магазинная) память. Fifo - буфера.
- •Специализированные процессоры. Числовой арифметический сопроцессор intel 80x87(fpu). Программная (регистровая) модель. Форматы данных. Система команд.
- •Оперативная (основная) память эвм (озу). Назначение, программная модель. Элементная база озу.
- •Системы памяти в эвм. Иерархия запоминающих устройств. Оперативная и долговременная внешняя память.
- •Типы запоминающих устройств внешней памяти эвм. Методы моделирования цифровых (двоичных) данных. Общая организация носителей данных, технические характеристики.
- •Программная модель памяти эвм. Иерархическая структура памяти. Концепция виртуальной памяти. Страничное распределение памяти.
- •21. Сегментная и страничная модели оперативной памяти (на платформе Intel). Системные адресные регистры цп, таблицы дескрипторов сегментов.
- •22.Специальные типы организации памяти: - стековая (магазинная) память, fifo-буфера. Сегмент стека, команды цп для работы со стеком
- •23. Физическая организация внешней долговременной памяти эвм (дзу). Дисковая магнитная память.
- •24. Постоянные запоминающие устройства (пзу). Базовая система ввода-вывода (bios) и ее функции. Конфигурационная память (cmos), ее свойства и назначение. Часы реального времени (rtc).
- •25. Интерфейсы пэвм. Системные и локальные шины. Интерфейсы дисковых накопителей и периферийных устройств. Стандарты и технические характеристики.
- •Интерфейс scsi
- •26. Организация взаимодействия элементов эвм под управлением цп. Цикл выполнения команд. Циклы шины. Система прерываний. Типы прерываний
- •27. Система прерываний эвм. Назначение, роль и место в общей организации управления и взаимодействия в эвм. Типы прерываний.
- •28. Обслуживание запросов внешних устройств. Аппаратные (асинхронные) прерывания. Контроллер прерываний pic. Линии запросов на прерывание - irq. Исключительные ситуации цп.
- •29. Программные (синхронные) прерывания, команды прерывания мп. Сервисы bios, как программные прерывания.
- •30. Процедуры обработчиков прерывания Таблицы дескрипторов (векторов) прерываний в защищенном и реальном режимах работы процессора intel.
- •31. Организация ввода-вывода. Принципы обмена информацией цп с внешними устройствами. Порты ввода-вывода. Устройства ввода: - клавиатура, мышь. Динамик pc.
- •32. Видеоподсистема пэвм. Принципы формирования изображений. Элементы видеоподсистемы: - монитор, видеоконтроллер, видеопамять. Видеорежимы.
- •33. Периферийное оборудование пэвм. Обзор основных устройств: - принципы действия, функциональное назначение, интерфейс с компьютером.
- •34. Системный (ассемблерный) отладчик ос ms-dos - debug. Интерактивные типы отладчиков.
- •35. Ассемблер для микропроцессоров с архитектурой intel 80x86. Общая характеристика языка, основные особенности и возможности. Инструментальные системы для разработки программ на языке Ассемблера.
- •36. Алфавит языка Ассемблер. Базовые синтаксические элементы (лексемы) языка. Предложения: - команды, директивы, комментарии. Синтаксис команд и директив. Резервированные идентификаторы.
- •37. Структура программ на языке Ассемблер. Программные сегменты. Типы, описание, назначение. Макроопределения. Специальные директивы компилятора. Определение именованных констант.
- •Include - Вложить другой файл
- •38. Форматы загрузочных (исполняемых) модулей типа *.Exe и *.Com. Загрузка программ, инициализация сегментных регистров. Префикс программного сегмента. (psp).
- •39. Типы данных Ассемблера. Константы. Директивы описания и инициализации данных, директивы эквивалентности (описания констант). Формат директив.
- •40. Директивы описания сегментов. Процедуры в Ассемблере. Вызовы и возвраты (дальние и ближние).
- •Система команд Ассемблера. Основные типы команд и их классификация. Синтаксис (формат записи) команд. Способы адресации операндов.
- •Методы адресации
- •Команды пересылки данных. Операции со стековой памятью. Арифметические команды Ассемблера. Команды пересылки данных
- •Арифметические команды
- •Логические команды. Команды сдвига. Команды прямой манипуляции с битами. Логические команды
- •44. Команды программной передачи управления. Команды переходов
- •Команды обработки строк. Префиксы повторения.
- •Организация циклов в Ассемблере. Команды управления циклами. Организация циклов
- •Режимы адресации операндов в командах Ассемблера. Косвенная адресация. Модификация адресов, и индексирование.
- •48. Команды управления состоянием микропроцессора.
- •Моделирование структурных типов данных в Ассемблере (строки, векторы, матрицы, записи, структуры). Организация обработки структурных данных.
- •Двухмерные массивы
- •Структуры
- •Описание шаблона структуры
- •Определение данных с типом структуры
- •Объединения
- •Описание записи
- •Определение экземпляра записи
- •Функциональное обслуживание устройств на уровне ос ms-dos. Прерывания dos. Программный интерфейс ms-dos - прерывание int 21h. Основные группы функций. Прерывания dos
- •Получение системной информации.
- •Символьный ввод/вывод.
- •Работа с файловой системой.
- •Управление программами.
- •Управление памятью.
- •Связь с драйверами устройств.
40. Директивы описания сегментов. Процедуры в Ассемблере. Вызовы и возвраты (дальние и ближние).
В программировании термин «директива» (указание) по использованию похож на термин «команда», так как так же используется для описания некоторых конструкций языка программирования (то есть указаний компилятору или ассемблеру особенностей обработки при компиляции).
Описание сегмента — директива SEGMENT
Любые ассемблерные программы содержат, по крайней мере, один сегмент — сегмент кода. В некоторых программах используется сегмент для стековой памяти и сегмент данных (основной и дополнительный) для определения данных.
Универсальная директива для описания сегмента имеет следующий формат:
имяС SEGMENT [параметры] ; начало СЕГМЕНТА имяС
…...............................................................................................................................
имяС ENDS ; конец СЕГМЕНТА имяС
Имя сегмента (имяС) должно обязательно присутствовать, быть уникальным и соответствовать соглашениям для имен в Ассемблере или в другом алгоритмическом языке, для стыковки с которым делается ассемблерный модуль. Например, при стыковке Ассемблера с Turbo/Borland Pascal имяС должно быть СТРОГО определенным:
* для сегмента кода CSEG или CODE; * для сегмента данных DSEG или DATA; * для сегмента стека STACK.
Директива ENDS обозначает конец сегмента. Обе директивы SEGMENT и ENDS должны иметь одинаковые имена имяС.
В одном модуле можно открывать и закрывать сегмент с одним и тем же именем имяС несколько раз, но пересекаться (вкладываться друг в друга) разные сегменты НЕ должны. Компилятор просматривает ассемблерный модуль и объединяет вместе все части сегментов с одинаковым именем в том порядке, в каком он их обнаруживает (сверху-вниз).
Директива SEGMENT может содержать три основных типа необязательных параметров, определяющих выравнивание (align), объединение (combine) и класс ('class'), между которыми должен быть хотя бы один пробел в качестве разделителя. Параметры имеют смысл при разработке БОЛЬШИХ ассемблерных программ.
Описание процедур
Модуль на Ассемблере, как и модули на алгоритмических языках, обычно состоит из процедур. Для описания процедур используются две директивы. Визуально они похожи на соответствующие директивы описания сегмента
имяP PROC [параметры] ; начало процедуры имяP
.…………….…………….…………….…………….…………….……………
RET ; КОМАНДА возврата в точку вызова процедуры
.…………….…………….…………….…………….…………….…………….
имяP ENDP ; конец процедуры имяP
У директивы PROC достаточно много параметров. Если кому нужно, то сами поищите, инфы много.
Обратите внимание на ОБЯЗАТЕЛЬНУЮ команду RET. Она может быть в любом нужном месте процедуры и НЕ единственная. Если ее в процедуре НЕ будет, то ассемблерная программа НЕ сможет нормально работать — возникнет зависание.
Вызовы и возвраты (дальние и ближние). Команды безусловных переходов: JMP осуществляет безусловный переход(NEAR(-127; +128), FAR в пределах сегмента, SHORT) команда CALL передает управление подпрограмме с автоматическим сохранением адреса возврата в стеке. Команда RET возвращает управление вызывающей программе. Команда возврата — это косвенный переход т. к. адрес перехода извлекается из вершины стека.