Page 27 - 4989
P. 27
3 ЛАБОРАТОРНА РОБОТА № 3
Команди пересилки даних, зсувів та логічних операцій в
асемблері х86
3.1 Мета
Навчитись застосовувати асемблерні вставки у програмах
мовою С++; навчитись використовувати інструкції пересилки
даних, зсувів та логічних команд асемблера х86.
3.2 Завдання
Написати консольну програму мовою С++, яка виводить
інформацію про деякі характеристики процесора (згідно із
завданням). Використати для отримання цієї інформації
асемблерну вставку, що містить інструкцію CPUID та необхідні
додаткові інструкції для формування результату в цілочисленій
змінній.
Таблиця 2.1 - Варіанти індивідуальних завдань
В. Характеристика
1 Номер сімейства процесора (Family)
2 Номер моделі процесора (Model)
3 Степпінг процесора (Stepping)
4 Розрядність фізичної адреси (Physical Address Size)
5 Чи підтримуються інструкції SSE
6 Розрядність віртуальної адреси (Virtual Address Size)
7 Чи підтримуються інструкції SSE3
8 Чи підтримуються інструкції SSE4.1
9 Чи підтримуються інструкції SSE4.2
10 Чи підтримується інструкція AES (AES instruction)
11 Розширений номер сімейства процесора (Extended Family)
12 Розширений номер моделі процесора (Extended model)
13 Розмір кешу L2 (L2 Cache Size)
14 Розмір рядка кешу L2 (L2 Cache Line Size)
15 Асоціативність кешу L2 (L2 Cache Associativity)
Примітка. SSE - Streaming SIMD Extensions
27