Вопросы по курсу ассемблера
ВОПРОСЫ
по курсу "Язык программирования Ассемблер"
1. Язык ассемблера. Особенности и преимущества языка ассемблера, отличающие его от других языков программирования. В каких случаях используется язык ассемблера?
2. Краткая характеристика основных этапов развития вычислительной техники по поколениям.
3. Структурная схема ЭВМ и характеристика ее основных элементов.
4. Системы счисления. Десятичная, двоичная и шестнадцатеричная системы счисления. Правила перевода чисел из одной системы в другую.
5. Представление данных в компьютере. Биты, байты и слова. Нумерация бит в этих единицах информации. Понятие младших и старших единиц информации. Адресация единиц информации.
6. Классификация типов данных, исходя из их размерности, и логическая интерпретация типов данных. Числовые диапазоны, которые могут быть представлены с использованием данных различных типов.
7. Представление чисел со знаком в компьютере.
8. Символы и их кодирование в компьютере.
9. Логические операции, используемые в языке ассемблера.
10. Понятие архитектуры ЭВМ и ее основные элементы. Общие архитектурные свойства и принципы и их краткая характеристика.
11. Понятие микропроцессора (МП) и краткая характеристика компонентов его структурной схемы. Основные этапы развития микропроцессоров, характеристика основных моделей микропроцессоров в соответствии с основными этапами их развития.
12. Режимы работы микропроцессора. Краткая характеристика процесса конвейеризации вычислений МП и сущность кэш памяти МП.
13. Общая организация внутренней памяти компьютера. Типы памяти, сегменты памяти, их назначение и расположение в пространстве памяти. Основные модели памяти, поддерживаемые аппаратно.
14. Характеристика сегментов памяти. Основные свойства сегментов.
15. Понятие программной модели микропроцессора. Понятие регистра. Группы регистров микропроцессора 8086 и Pentium, их основные различия.
16. Характеристика связи регистров МП с отдельными элементами компьютера посредством описания работы операционного устройства (ОУ) и шинного интерфейса (ШИ).
17. Характеристика регистров общего назначения.
18 Характеристика сегментных регистров и регистров указателей и индексов.
19. Характеристика регистра флагов. Назначение отдельных флагов регистра.
20. Механизм формирования физических адресов данных. Понятие шины адреса
(ША) и шины данных (ШД). Мультиплексирование ША и ШД.
21. Общее понятие прерывания. Типы прерываний в зависимости от источника.
22. Специализированные пакеты ассемблера, предназначенные для разработки программ и их характеристика.
23. Общая схема разработки программ на ассемблере и краткая характеристика этапов разработки программ. Форматы командных строк для запуска служебных программ отладки.
24. Отладка программ на ассемблере с использованием отладчика Turbo-Debugger. Типы меню отладчика, режимы выполнения программ, окна.
25. Отладчики, используемые на этапе отладки программ на ассемблере. Краткая характеристика программы-отладчика Turbo-Debugger.
26. Общая характеристика структуры программы на ассемблере. Структура предложений, составляющих программу. Алфавит языка ассемблер. Идентификаторы и правила их формирования.
27. Директивы ассемблера. Формат директивы. Директивы инициализации и резервирования данных в ассемблере. Примеры размещения данных в сегменте данных с использованием директив.
28. Директива сегментации SEGMENT. Формат директивы. Описание полей
директивы. Параметры директивы. Пример использования директивы.
29. Упрощенные директивы сегментации и их краткая характеристика.
30. Директива сегментации ASSUME и ее характеристика.
31. Директива MODEL и ее характеристика.
32. Псевдооператоры определения идентификаторов: EQU, = и их описание.
33. Псевдооператоры внешних ссылок PUBLIC, EXTRN, INCLUDE.
34. Псевдооператоры управления трансляцией и управления листингом: END, PAGE, TITLE, SUBTTL.
35. Операции +,-,*, /, MOD, SHL, SHR.
36. Логические операции AND, OR, XOR и их характеристики.
37. Операции отношения EQ, NE, LT, GT, LE, GE.
38. Операции, возвращающие значение: $, SEG и OFFSET, ТУРЕ, LENGTH, SIZE.
39. Операции присваивания атрибутов:
PTR
DS:, ES:, SS:, CS:
SHORT
THIS
HIGH
LOW
40. Формат команд ассемблера и его характеристика. Описание полей команды
41. Понятие режима адресации данных (операндов) в ассемблере. Краткая характеристика режимов адресации.
42. Регистровая и непосредственная адресация. Понятие исполнительного адреса.
43. Прямая и косвенная регистровая адресация данных.
44. Адресация данных по базе. Прямая адресация с индексированием.
45. Адресация по базе с индексированием.
46. Основные группы команд ассемблера. Команда пересылки данных MOV.
47. Команды пересылки данных общего назначения.
48. Допустимые варианты пересылки данных с использованием команды MOV.
49. Понятие стека. Обмен данными через стек. Основные функции стека.
50. Команды PUSH и POP и их использование для организации обмена данными через
стек.
51. Команды пересылки данных общего назначения XCHG, XLAT, IN, OUT.
52. Команды пересылки адреса LEA, LDS, LES. Команды пересылки флагов LAHF,
SAHF.
53. Арифметические команды. Команды сложения ADD и ADC.
54. Команды вычитания SUB и SBB. Команды DEC и NEG.
55. Команды умножения MUL и IMUL.
56. Команды деления DIV и IDIV.
57. Общая характеристика команд обработки строк. Группы команд обработки строк и правила их функционирования. Правила передачи данных при использовании строковых команд. Команды CLD и STD.
58. Команды пересылки строк. Префиксы повторения. Примеры использования команд пересылки строк.
59. Команды сравнения строк. Проверка результатов сравнения.
60. Команды сканирования строк. Примеры использования команд данной группы.
61. Команды загрузки и сохранения строк. Передача данных при использовании команд этих групп.
62. Определение прерывания. Сущность прерывания работы МП. Группы прерываний и их характеристика.
63. Программные прерывания. Команда прерывания INT. Механизм реализации программного прерывания.
64. Описать механизм обмена данными между стеком и регистрами, участвующими в реализации программного прерывания, при исполнении команды прерывания. Привести схему обмена.
65. Команда возврата после прерывания IRET. Команда прерывания INTO.
66. Прерывания операционной системы DOS. Типы прерываний DOS. Привести примеры
67. Основные функции прерывания DOS для работы с клавиатурой и дисплеем, правила и примеры их использования.
68. Правила организации пользовательского прерывания. Пример программы, в которой реализовано пользовательское прерывание.
69. Команды передачи управления. Характеристика основных групп команд. Команда безусловного перехода.
70. Команды безусловной передачи управления. Характеристика работы этих команд. Схема обмена данными при реализации команд.
71. Команды условной передачи управления. Команда сравнения. Совместное использование команды сравнения с командами условной передачи управления и соответствующие примеры. Команды управления циклами.
72. Характеристика основных функций расширенного управления файлами при реализации программного прерывания: создание, открытие, закрытие, чтение файла, запись в файл и правила их использования.