Вопросы по курсу Архитектура ПЭВМ и Ассемблер. Часть 2.
Вопросы по курсу Архитектура ПЭВМ и Ассемблер. Часть 2.
- Команды манипулирования битами логические команды (AND, OR, XOR, NOT, TEST), сдвига (SAL, SAR, SHL, SHR, ), циклического сдвига (ROL, ROR, RCL, RCR).
- Команды обработки строк: пересылка (MOVS), сравнение (CMPS), сканирование (SCAS), загрузка (LODS), сохранение(STOS), префиксы повторения (REP, REPE/REPZ, REPNE/REPNZ).
- Процедуры в языке ассемблера. Описание процедур. Команды вызова процедур. Команда возврата из процедуры. Косвенные вызовы процедур. Вложенные процедуры.
- Передача аргументов через регистры. Передача аргументов через общую область памяти. Передача аргументов через стек.
Использование директив extrn и public.Возврат результата из процедуры. - Команды безусловного перехода JMP. Команды условной передачи управления. Команды управления циклами (LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ).
- Прерывания работы микропроцессора. Внешние прерывания. Векторы прерывания. Маскируемые и немаскируемые прерывания. Внутренние прерывания. Команды прерывания.
- Команды управления микропроцессором. Команды управления флагами. Команды внешней синхронизации. Команда холостого хода.
- Сложные структуры данных. Структуры. Описание шаблона структуры. Объединения. Записи. Определение экземпляра записи. Работа с записями.
- Макросредства языка Ассемблера. Псевдооператоры equ и =.
- Макрокоманды. Макрорасширения.
- Макродирективы: WHILE, REPT, IRP и IRPC, IRP и IRPC.
- Макродирективы EXITM и GOTO.
- Директивы условной компиляции. Директивы IF и IFE — условная трансляция по результату вычисления логического выражения. Директивы IFDEF и IFNDEF — условная трансляция по факту определения символического имени.
- Директивы условной компиляции. Директивы IFB и IFNB — условная трансляция по факту определения фактического аргумента при вызове макрокоманды.
Директивы условной компиляции. Директивы IFIDN, IFIDNI, IFDIF и IFDIFI — условная трансляция по результату сравнения строк символов.- Константные выражения в условных директивах. Директивы генерации ошибок: .ERR Условная генерация пользовательской ошибки: .ERRB (.ERRIFB) и .ERRNB
(.ERRIFNB), ERRDEF (.ERRIFDEF) и .ERRNDEF (.ERRIFNDEF),.ERRDIF (.ERRIFDIF) и .ERRIDN (.ERRIFIDN), ERRE (.ERRIFE) и .ERRNZ (.ERRIF). - Дополнительное управление трансляцией. Директивы DISPLAY и %OUT.
- Библиотеки макроопределений. Задание макроопределений в исходных программах.
- Связь разноязыковых модулей Интерфейс между языком C и Ассемблером. Ассемблер, встроенный в C. Передача параметров между модулями. Вызов исполняемых модулей.
- Программирование в защищенном режиме. Системные регистры микропроцессора. Структуры данных защищенного режима. Пример программы защищенного режима.
Вопросы по курсу Архитектура ПЭВМ и Ассемблер. Часть 1.
Вопросы по курсу Архитектура ПЭВМ и Ассемблер. Часть 1.
- Понятие о микрокомпьютерах. Отличительные особенности этого класса компьютеров. Понятие об архитектуре персональных ЭВМ.
- Функциональные элементы вычислительной техники. Вентили. Алгебраическое задание функций и логических схем. Понятие о минимизации логических схем. Комбинационные схемы. Дешифратор, мультиплексор, сумматор. Последовательные логические схемы. Триггеры. Микропрограммирование (понятие). Горизонтальное и вертикальное микропрограммирование.
- Устройство персональных ЭВМ (ПЭВМ). Устройство микропроцессора, крупноблочная схема. Основной цикл работы микропроцессора. Организация памяти. Сегментация. Физические и логические адреса. Регистры микропроцессора, системные регистры, регистр флагов.
- 16, 32 и 64 битовые процессоры. Понятие о реальном и защищенном режиме микропроцессора. Особенности процессоров из семейства Intel (i8086-8088, i80286, i80386, i80486, Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III, Pentium IV, Dual Core).
- Введение в Ассемблер. Схема ассемблирования.
- Внутреннее представление данных. Константы с плавающей и фиксированной точкой. Десятичные константы. Строковые константы. Псевдооператоры представления данных (DB, DW, DD, DQ, DF, DP, DT).
- Модель программы. Сегментация программы. Псевдооператоры SEGMENT, ASSUME, PROC, END. Псевдооператоры управления листингом.
- Синтаксис команд ассемблера. Режимы адресации. Регистровая и непосредственная адресация. Режимы адресации памяти. Примеры программ с использованием различных способов адресации.
- Флаги. Классификация команд Ассемблера. Команды пересылки данных: общего назначения (MOV, PUSH, POP, XCHG, XLAT), ввода-вывода (IN, OUT), пересылки флагов (LEA, LDS, LES) (LAHF, SAHF,PUSHF, POPF).
- Арифметические команды: сложения (ADD,ADC,AAA, DAA, INC), вычитания (SUB, SBB, AAS, DAS,CMP,DEC), умножения (MUL, IMUL, AAM), деления (DIV, IDIV,AAD), расширения знака (CBW, CWD).
Тематика вопросов по основам программирования Часть 2.
Тематика вопросов по основам программирования.
Часть 2.
- Повторение. УКАЗАТЕЛИ. Описание указателей. Операция взятия адреса: &. Операция косвенной адресации: * Адресная арифметика.
- Повторение. ПРОИЗВОДНЫЕ ОДНОРОДНЫЕ ТИПЫ ДАННЫХ. МАССИВЫ. Описание массивов. Инициализация массивов. Доступ к элементам массива. Символьные строки и массивы указателей.
- ПРОИЗВОДНЫЕ ОДНОРОДНЫЕ ТИПЫ ДАННЫХ. МАССИВЫ. Описание массивов. Инициализация массивов. Доступ к элементам массива. Символьные строки и массивы указателей. Приемы обработки массивов.
- ПРОИЗВОДНЫЕ СМЕШАННЫЕ ТИПЫ ДАННЫХ. Структуры. Описание структурных переменных. Операции над структурами. Указатели и структуры.
- СПИСКИ. Использование списков: добавление, удаление, печать элементов списка.
- ПЕРЕЧИСЛЕНИЯ. Описание перечислимого типа. Пример использования перечислений
- ВВОД-ВЫВОД ДАННЫХ. Ввод-вывод символа. Форматный ввод-вывод строк
- ФУНКЦИИ. Виды функций. Определение функции. Вызов функции. Аргументы функции. Передача аргументов и возврат значений. Указатели в качестве аргументов. Массивы в качестве аргументов. Описание типа возвращаемого значения.
- КЛАССЫ ПАМЯТИ. Понятие класса памяти. Автоматические переменные. Внешние переменные. Статические переменные. Регистровые переменные
- БИТОВЫЕ ПОЛЯ.
- СМЕСИ.
- СОБСТВЕННЫЕ ИМЕНА ТИПОВ.
- ФАЙЛЫ. Типы файлов. Работа с текстовыми и двоичными файлами. Открытие и закрытие файлов. Ввод-вывод символа . Ввод-вывод форматный. Ввод-вывод строк. Ввод-вывод в двоичных файлах. Позиционирование доступа к файлу. Пример отработки файла.
- ПРЕПРОЦЕССОР. Определение символических констант. Определение макрофункций. Включение файлов. Условная компиляция. Другие директивы.
Урок 8.1. Структуры
8.1. Структуры
В практических задачах часто возникает необходимость хранить и
обрабатывать логически связанные между собой данные различных типов. Например,
в задаче составления платежной ведомости логически связаны между собой данные
об фамилии и имени служащего (символьная строка), его табельном номере (целое),
заработной плате (число с плавающей точкой) и другие. Такую совокупность
разнородных данных удобно рассматривать как нечто единое, характеризующее
некоторый объект задачи. Для представления подобных объектов используются
структуры. Структуры предназначены для организации сложных данных и позволяют
группировать в единое целое родственные между собой переменные и работать с
ними и как с единым объектом так и с отдельными его составляющими.