Ассемблер 1. Понятие об архитектуре ЭВМ. Машина Фон-Неймана. Принципы Фон-Неймана. Структуры и характеристики памяти. 2. Центральный процессор ЭВМ. Устройство управления и арифметико-логическое устройство. Регистры. Схема работы центрального процессора. 3. Адресность ЭВМ. Схемы выполнения команд в трех-, двух- одно- и нульадресных ЭВМ. Примеры. Понятие такта работы. 4. Учебная 3х-адресная ЭВМ, её архитектура и формальное описание. Примеры программ. 5. Оперативная и внешняя память, регистры. 6. Основные форматы команд и данных. Принципы адресации, правила вычисления физического адреса. Примеры. 7. Базирование и индексирование в машинных командах. Сегментные и индексные регистры. Примеры. 8. Физический и исполнительный адреса. Вычисление физического адреса. Примеры. Организация регистровой памяти. 9. Структура оперативной памяти. Основные форматы данных: символы, целые и вещественные числа, строки. 10. Машинное представление целых чисел, прямой, обратный и дополнительный коды. Примеры. 11. Общая характеристика языка Ассемблера (ЯА). Вид программы на ЯА. Классификация предложений ЯА. Примеры. 12. Вид предложения на ЯА. Поля метки, кода операции, операндов и комментария. 13. Запись команд на ЯА, основные форматы команд, сегментирование и индексирование. Счетчик адреса. Примеры. 14. Константы и переменные с начальным значением, их задание и использование на ЯА. Примеры. 15. Резервирование памяти на ЯА, доступ к переменным. Характеристики переменных. Примеры. 16. Оператор type, его использование при программировании на ЯА. Примеры. 17. Команды транслятору (директивы). Директива объявления эквивалентности, примеры её использования. 18. Представление целых чисел и работы с ними на ЯА. Знаковые и беззнаковые числа. Примеры. 19. Обработка символьной информации на ЯА. Работа со строками. Примеры. 20. Описание и использование массивов на ЯА. Использование сегментных регистров по умолчанию. Примеры. 21. Способы программирования циклов на ЯА. Примеры. 22. Команды сдвига, их назначение и использование при программировании на ЯА. Примеры. 23. Описание и использование упакованных битовых полей (записей) на ЯА. Примеры. 24. Сегментные регистры, их назначение и использование. Соглашения об использовании сегментных регистров по умолчанию. Примеры. 25. Описание и использование структур на ЯА. Примеры. 26. Команды передачи управления, их классификация. Примеры. 27. Команды перехода с возвратом, организация работы с процедурами. Примеры. 28. Процедуры. Стандартные соглашения о связях, их назначение. Передача параметров, локальные переменные процедуры. Стековый кадр. Примеры. 29. Понятие макрогенерации. Макроассемблер. Макроопределение (МО), макрокоманда, макрорасширение, макроподстановка. Примеры. 30. Использование МО при программировании на ЯА. Библиотеки МО. Примеры. 31. Параметры в МО и макрокомандах, способ передачи параметров, параметры-списки. Примеры. 32. Условное ассемблирование, условные операторы и циклы. Переменные периода генерации. Примеры. 33. Локальные объекты в МО, их описание и использование. Примеры. 34. Сравнение процедур и МО, прагматика их использования. Примеры. 35. Модульное программирование. исходный и объектный модули. Связи между модулями по управлению и по данным. Входные точки и внешние адреса. Примеры. 36. Соглашение о связях между модулями, статические и динамические связи по данным и по управлению. Примеры. 37. Модульное программирование, его достоинства и недостатки. Пример двухмодульной программы на ЯА. 38. Схемы работы ЯА. Лексический и синтаксический анализ, генерация объектного модуля, таблицы ЯА. 39. Редактор внешних связей, его назначение и схема работы. 40. Загрузчик, его назначение и схема работы. 41. Понятие прерывания, обработка прерываний. Роль ОС при выполнении программ. 42. Понятие о многопрограммном режиме работы. Необходимые свойства аппаратуры ЭВМ для организации многопрограммной работы. 43. Способы организации работы с внешними устройствами в различных архитектурах ЭВМ. Архитектуры с общей шиной и с каналами ввода/вывода.