- •1. Що таке Асемблер?
- •9.Які ресурси середовища Intel64 для виконання програм
- •10. Режимы работы процессоров ia-32 (Режими роботи процесорів архітектури x86)
- •1 Реальный режим
- •2 Режим системного управления
- •3 Защищенный режим
- •11) Який адресний простір архітектури ia-32 і чим він визначається?
- •12 Який адресний простір архітектури Intel64 і чим він визначається?
- •14.Способи переведення у іншу систему числення. Приклади
- •13. Позиційні системи числення. Поняття та основні формули
- •15. Способи представлення від'ємних чисел
- •16. Додатковий код. Приклади
- •17. Зміщений код. Приклади
- •18 Формати з плаваючою точкою. Стандарти
- •19 Стандартний двійковий 32-бітовий формат з плаваючою точкою
- •20 Тандартний двійковий 64-бітовий формат з плаваючою точкою
- •21.Стандартний двійковий 80-бітовий формат з плаваючою точкою
- •22. Порівняння основних стандартних двійкових форматів з плаваючою точкою
- •23. Фізична память. Як узнати розрядність адрес?
- •24. Моделі пам'яті у процесорах архітектури x86
- •25. Сегментована пам'ять
- •26. Flat - модель пам'яті
- •27. Сторінкова пам'ять
- •28. Регістри процесора архітектури ia-32
- •29. Регістри процесора архітектури Intel64
- •30. Регістри загального призначення.
- •31. Сегментні регістри
- •8 Прапорів полягання
- •1 Прапор управління
- •5 Системних прапорів
- •35 Операнди команд та способи адресації операндів
- •36 Безпосередні операнди команд
- •37 Регістрові операнди команд
- •38 Способи вказування комірок пам'яті у якості операндів команд
- •39. Що таке опосередкована адресація стосовно вказування операнду команди?
- •40. Що таке база, індекс, зміщення, масштаб у операнді команди?
- •41Полное определение
- •44. Структура вихідного тексту програми на Асемблері
- •45.Директиви Асемблера. Найпопулярніші на вашу думку директиви
- •46.Директиви вказування типу процесора та моделі пам'яті
- •47. Директиви створення даних
- •48. Директива invoke. Приклади
- •49. Директива align. Приклади
- •50. Базові типи даних архітектури процесорів x86
- •51. Числові типи даних
- •52.Упаковані simd типи даних
- •Використання
- •53. Основні групи команд процесорів архітектури x86
- •54. Команди копіювання даних
- •Xchg Обмін данімі між операндами
- •55. Команди додавання цілих чисел
- •56. Команди віднімання цілих чисел
- •57. Команди множення цілих чисел
- •58. Команди ділення цілих чисел
- •59. Побітові логічні команди
- •60. Програмування читання та запису окремих бітів
- •61. Команди зсувів
- •62. Команди циклічного зсуву
- •63 Команды перехода
- •64 Реализация if-then-else
- •65, 66 Програмування циклів на асемблері?
- •67 Цикл з постумовою (рис. 2)
- •68. Програмування циклу зі збереженням біту переносу cf
- •69. Програмування циклу на основі команд loop
- •70. Програмування вкладених циклів
- •71. Команди обробки рядків даних
- •72. Команди stos, stoSx
- •73. Команди movs,movsx.
- •74. Префікс повторення rep та його різновиди.
- •75.Що таке структурованість та модульність програм. Наведіть приклади.
- •76. Макроси. Приклади програмування
- •77. Процедури. Визначення, виклик. Приклади програмування
- •78. Способи передавання значень параметрів процедурам
- •79. Локальні дані процедур
- •80. Пролог та епілог процедури
- •81. Стековий кадр процедури
- •82. Написання модульних програм на Асемблері
- •83. Можливості використання мов високого рівня сумісно з Асемблером
- •84. Конвенції виклику процедур
- •85. Конвенція cdecl. Приклад програмування.
- •86. Конвенція stdcall. Приклад програмування.
- •87. Асемблерні вставки у мовах високого рівня.
- •88. Середовище x87 fpu
- •89. Команди x87 fpu. Приклад програми.
- •90. Стек даних x87 fpu. Приклад програми.
- •91. Команди simd
- •92. Розширення mmx
- •93. Розширення sse
- •94. Типи даних sse
- •95. Векторны команди sse
- •96 Горизонтальне додавання
- •97. Команди movups та movaps. Приклад використання
- •98. Векторні команди множення sse. Приклад використання
- •99. Векторні команди додавання sse. Приклад використання
- •100. Команда shufps та її застосування
- •101. Розширення avx
- •102. Типи даних avx
- •103. Команды avx
- •104. Особенности команд avx по отношению к sse
- •105. Эволюция simd-расширений системы команд процессоров архитектуры х86
38 Способи вказування комірок пам'яті у якості операндів команд
В фон-нейманівських машинах кожна комірка пам'яті має власну адресу й проблема визначення місця розташування потрібних даних зводиться до визначення цієї адреси. В перших ЕОМ адреса або номер комірки необхідно було вказувати явно, що виявилося незручним. Це спричинило до розробки нових методів.
Пік винахідництва в цій галузі припав на час панування CISC-архітектур «регістр-пам'ять», які дозволяли безпосередньо використовувати в якості одного з операндів комірку пам'яті. RISC-архітектури типу «регістр-регістр», в яких доступ до пам'яті регламентується значно більш жорстко, мають у порівнянні з CISC, дуже скромний набір методів адресації, і у найрадикальніших представниках цієї ідеології зведений до єдиного.
CISC-архітектура
Абсолютна (пряма) – застосовуємо Коли відома абсолютна (пряма) адреса операнда
Безпосередня – застосовуємо Коли Один з операндів — константа (арифм. операції, перевірки умов)
Регістрова – засосовуємо коли Усі операнди в регістрах
Непряма регістрова – застосовуємо коли Доступ до даних за попередньо обчисленою адресою, визначення адреси, на яку посилається вказівник (адреса вказівника — в R2)
Непряма – застосовуємо коли Робота з вказівниками: якщо в R2 — адреса вказівника р, то ефективна адреса — це значення *p
За зсувом (базова, індексна) – Застосовується для організації переміщуваних програм, для роботи з масивами
Масштабування (індексна регістрова непряма) – застосовується для роботи з масивами
Непряма регістрова з автоінкрементом -- Робота з масивами у циклах. R2 початково вказує на початок масиву, кожна нова ітерація супроводжується позиціонуванням на наступний елемент
Непряма регістрова з автодекрементом – аналогічно до попереднього
RISC-архітектура
Спосіб адресації
За зсувом
Регістрово-індексна
Регістрова з поновленням регістра
Регістрово-індексна з поновленням регістра
Регістрова (похідна від адресації за зсувом)
Абсолютна (похідна від адресації за зсувом)
39. Що таке опосередкована адресація стосовно вказування операнду команди?
Такой тип адресации, когда ячейка памяти задается ее именем, плюс некоторая константа, называется непосредственной (прямой) адресацией. Хотя непосредственная адресация - это хороший метод, она не отличается достаточной гибкостью, поскольку обращение вы- полняется каждый раз по одному и тому же адресу памяти.
приклад_опосередкованої_адресації_до_констант_пам'яті_програм
40. Що таке база, індекс, зміщення, масштаб у операнді команди?
Операнды — это объекты, над которыми или при помощи которых выполняются действия, задаваемые инструкциями или директивами.
4. Байт масштаб – индекс – база (байт sib). Используется для расширения возможностей адресации операндов. Байт sib состоит из трех полей:
1) поля масштаба ss. В этом поле размещается масштабный множитель для индексного компонента index, занимающего следующие 3 бита байта sib;
2) поля index. Используется для хранения номера индексного регистра, который применяется для вычисления эффективного адреса операнда;
3) поля base. Используется для хранения номера базового регистра, который также применяется для вычисления эффективного адреса операнда.
5. Поле смещения в команде.
8-, 16– или 32-разрядное целое число со знаком, представляющее собой, полностью или частично (с учетом вышеприведенных рассуждений), значение эффективного адреса операнда.
http://www.e-reading.ws/chapter.php/99319/50/Cvetkova_-_Informatika_i_informacionnye_tehnologii.html
