- •Понятие архитектуры эвм. Эволюция универсальных эвм. Поколения эвм. Элементная база эвм.
- •Основы классификации эвм. Классификационные признаки. Принципы устройства последовательной эвм (архитектура фон Неймана). Технические показатели эвм.
- •Архитектура универсальной эвм с последовательным выполнением команд. Функциональное назначение, физические принципы действия и организация основных блоков.
- •Серия 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
- •Получение системной информации.
- •Символьный ввод/вывод.
- •Работа с файловой системой.
- •Управление программами.
- •Управление памятью.
- •Связь с драйверами устройств.
Описание шаблона структуры
Описание шаблона структуры имеет следующий синтаксис:
имя_структуры STRUC <описание полей> имя_структуры ENDS |
Здесь <описание полей> представляет собой последовательность директив описания данных db, dw, dd, dq и dt. Их операнды определяют размер полей и, при необходимости, начальные значения. Этими значениями будут, возможно, инициализироваться соответствующие поля при определении структуры.
Как мы уже отметили при описании шаблона, память не выделяется, так как это всего лишь информация для транслятора.
Местоположение шаблона в программе может быть поизвольным, но, следуя логике работы однопроходного транслятора, он должен быть расположен до того места, где определяется переменная с типом данной структуры. То есть при описании в сегменте данных переменной с типом некоторой структуры ее шаблон необходимо поместить в начале сегмента данных либо перед ним.
Рассмотрим работу со структурами на примере моделирования базы данных о сотрудниках некоторого отдела. Для простоты, чтобы уйти от проблем преобразования информации при вводе, условимся, что все поля символьные. Определим структуру записи этой базы данных следующим шаблоном:
worker struc ;информация о сотруднике nam db 30 dup (' ') ;фамилия, имя, отчество sex db 'м' ;пол, по умолчанию 'м' — мужской position db 30 dup (' ') ;должность age db 2 dup(‘ ’) ;возраст standing db 2 dup(‘ ’) ;стаж salary db 4 dup(‘ ’) ;оклад в рублях birthdate db 8 dup(‘ ’) ;дата рождения worker ends |
Определение данных с типом структуры
Для использования описанной с помощью шаблона структуры в программе необходимо определить переменную с типом данной структуры. Для этого используется следующая синтаксическая конструкция:
[имя переменной] имя_структуры <[список значений]> |
Здесь:
имя переменной — идентификатор переменной данного структурного типа. Задание имени переменной необязательно. Если его не указать, будет просто выделена область памяти размером в сумму длин всех элементов структуры.
список значений — заключенный в угловые скобки список начальных значений элементов структуры, разделенных запятыми. Его задание также необязательно. Если список указан не полностью, то все поля структуры для данной переменной инициализируются значениями из шаблона, если таковые заданы. Допускается инициализация отдельных полей, но в этом случае пропущенные поля должны отделяться запятыми. Пропущенные поля будут инициализированы значениями из шаблона структуры. Если при определении новой переменной с типом данной структуры мы согласны со всеми значениями полей в ее шаблоне (то есть заданными по умолчанию), то нужно просто написать угловые скобки. К примеру: victor worker <>.
Для примера определим несколько переменных с типом описанной выше структуры.
data segment sotr1 worker <’Гурко Андрей Вячеславович’,,’художник’,’33’,‘15’,‘1800’,’26.01.64’< sotr2 worker <’Михайлова Наталья Геннадьевна’,’ж’,’программист’,’30’,’10’,’1680’,’27.10.58’< sotr3 worker <’Степанов Юрий Лонгинович’,,’художник’,’38’,’20’,’1750’,’01.01.58’< sotr4 worker <’Юрова Елена Александровна’,’ж’,’свяэист’,’32’,’2’,,’09.01.66’< sotr5 worker <> ;здесь все значения по умолчанию data ends |