![](/user_photo/2706_HbeT2.jpg)
- •Понятие архитектуры эвм. Эволюция универсальных эвм. Поколения эвм. Элементная база эвм.
- •Основы классификации эвм. Классификационные признаки. Принципы устройства последовательной эвм (архитектура фон Неймана). Технические показатели эвм.
- •Архитектура универсальной эвм с последовательным выполнением команд. Функциональное назначение, физические принципы действия и организация основных блоков.
- •Серия 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
- •Получение системной информации.
- •Символьный ввод/вывод.
- •Работа с файловой системой.
- •Управление программами.
- •Управление памятью.
- •Связь с драйверами устройств.
Объединения
Представим ситуацию, когда мы используем некоторую область памяти для размещения некоторого объекта программы (переменной, массива или структуры). Вдруг после некоторого этапа работы у нас отпала надобность в использовании этих данных. Обычно память останется занятой до конца работы программы. Конечно, в принципе, ее можно было бы использовать для хранения других переменных, но при этом без принятия специальных мер нельзя изменить тип и имя. Неплохо было бы иметь возможность переопределить эту область памяти для объекта с другим типом и именем. Язык ассемблера предоставляет такую возможность в виде специального типа данных, называемого объединением.
Объединение — тип данных, позволяющий трактовать одну и ту же область памяти как имеющую разные типы и имена.
Описание объединений в программе напоминает описание структур, то есть сначала описывается шаблон, в котором с помощью директив описания данных перечисляются имена и типы полей:
имя_объединения UNION <описание полей> имя_объединения ENDS |
Отличие объединений от структур состоит, в частности, в том, что при определении переменной типа объединения память выделяется в соответствии с размером максимального элемента. Обращение к элементам объединения происходит по их именам, но при этом нужно, конечно, помнить о том, что все поля в объединении накладываются друг на друга. Одновременная работа с элементами объединения исключена. В качестве элементов объединения можно использовать и структуры.
Записи
Наша “хозяйка-программист” становится все более экономной. Она уже хочет работать с продуктами на молекулярном уровне, без любых отходов и напрасных трат. Подумаем, зачем тратить под некоторый программный индикатор со значением “включено-выключено” целых восемь разрядов, если вполне хватает одного? А если таких индикаторов несколько, то расход оперативной памяти может стать весьма ощутимым. Когда мы знакомились с логическими командами, то говорили, что их можно применять для решения подобной проблемы. Но это не совсем эффективно, так как велика вероятность ошибок, особенно при составлении битовых масок.
TASM предоставляет нам специальный тип данных, использование которого помогает решить проблему работы с битами более эффективно. Речь идет о специальном типе данных — записях.
Запись — структурный тип данных, состоящий из фиксированного числа элементов длиной от одного до нескольких бит. При описании записи для каждого элемента указывается его длина в битах и, что необязательно, некоторое значение. Суммарный размер записи определяется суммой размеров ее полей и не может быть более 8, 16 или 32 бит. Если суммарный размер записи меньше указанных значений, то все поля записи “прижимаются” к младшим разрядам.
Описание записи
Описание шаблона записи имеет следующий синтаксис (рис. 6):
имя_записи RECORD <описание элементов> |
Здесь: <описание элементов> представляет собой последовательность описаний отдельных элементов записи согласно синтаксической диаграмме (см. рис. 6):
Рис. 6. Синтаксис описания шаблона записи
При описании шаблона память не выделяется, так как это всего лишь информация для транслятора ассемблера о структуре записи. Так же, как и для структур, местоположение шаблона в программе может быть любым, но при этом необходимо учитывать логику работы однопроходного транслятора.