- •Повторення теоретичного матеріалу. Запитання до студентів:
- •Практичне заняття №3
- •Завдання 3. Знайти кінцеву лінійну адресу за формулою
- •План практичного заняття-гри.
- •Розминка
- •Відобразіть код “бігучий нуль”: аналогічна процедура, але напрям зворотній – від старших бітів до молодших. (2 бали – правильно і вчасно; 1 бал – правильно та невчасно; 0 балів - неправильно)
- •3.2. Привітання
- •3.3. Виконання команд мовою асемблер Вправа проводиться для команд одночасно: а) викладач пише на дошці поточне значення у регістрах, які будуть використовуватись, та команду мовою асемблер:
- •3.4. Перевірка роботи прапорців регістра прапорців
- •VII. Підрахунок балів та оцінювання Максимальна кількість балів – 30 Література:
- •Короткі теоретичні відомості
- •Література:
Завдання 3. Знайти кінцеву лінійну адресу за формулою
Addr=Seg*16+Base+Index*Scale+Displasement
згідно із варіантом у таблиці (33 варіанти). Всі дані у таблиці записані у 16-вій системі числення.
№ варіанта |
Сегмент (Seg) |
База (Base) |
Індекс (Index) |
Маштаб (Scale) |
Зміщення (Displasement) |
1 |
2 |
3 |
4 |
5 |
6 |
|
44 |
11 |
22 |
2 |
33 |
|
55 |
22 |
33 |
4 |
44 |
|
66 |
33 |
44 |
8 |
55 |
|
77 |
44 |
55 |
2 |
66 |
|
88 |
55 |
66 |
4 |
77 |
|
99 |
66 |
77 |
8 |
88 |
|
AA |
77 |
88 |
2 |
99 |
|
BB |
88 |
99 |
4 |
AA |
|
CC |
99 |
AA |
8 |
BB |
|
DD |
AA |
BB |
2 |
CC |
|
EE |
BB |
CC |
4 |
DD |
|
FF |
CC |
DD |
8 |
EE |
|
11 |
DD |
EE |
2 |
FF |
|
22 |
EE |
FF |
4 |
11 |
|
33 |
FF |
33 |
8 |
22 |
|
22 |
11 |
44 |
2 |
33 |
|
33 |
22 |
55 |
4 |
44 |
|
44 |
33 |
66 |
8 |
55 |
|
55 |
44 |
77 |
2 |
66 |
|
66 |
55 |
88 |
4 |
77 |
|
77 |
66 |
99 |
8 |
88 |
|
88 |
77 |
AA |
2 |
99 |
1 |
2 |
3 |
4 |
5 |
6 |
|
99 |
88 |
BB |
4 |
AA |
|
AA |
99 |
CC |
8 |
BB |
|
BB |
AA |
DD |
2 |
CC |
|
CC |
BB |
EE |
4 |
DD |
|
DD |
CC |
FF |
8 |
EE |
|
EE |
DD |
11 |
2 |
FF |
|
FF |
EE |
22 |
4 |
11 |
|
33 |
FF |
33 |
8 |
22 |
|
44 |
11 |
BB |
2 |
AA |
|
55 |
66 |
СС |
4 |
ВВ |
|
66 |
44 |
АА |
8 |
СС |
Рекомендації: при виконанні роботи можна використати стандартну програму “Калькулятор” у режимі роботи “Інженерний”. Для переведення чисел із однієї системи числення в іншу використовують панель кнопок-перемикачів. Їх позначення відповідають за такі системи числення: Hex – шістнадцяткова, Dec –десяткова, Oct – вісімкова, Bin – двійкова.
Додаткова інформація для самостійного опрацювання та виконання завдань міститься у файлі PR_EKZ.zip
Література:
1. Гук М. Аппаратньїе средства IBM PC. Энциклопедия 2-е изд. - СПб.: Питер, 2001
2. Якименко Ю.І. Мікропроцесорна техніка: Підручник 2-е видання - К.: Кондор, 2004 -440с.
Практичне заняття №4
Тема: "Представлення чисел"
Мета заняття: Набуття навиків перетворення чисел у різні системи числення, навчитись виконувати операції для чисел із знаком, представляти числа у форматі з фіксованою і плаваючою комою.
Завдання 1. Перевести ціле беззнакове однобайтне двійкове число у вісімкову, шістнадцяткову, десяткову та трійкову систему числення.
Правила та послідовність переведення двійкового числа у різні системи числення.
у вісімкову:
розбити двійкове число по три розряди (на тріади), починаючи з молодших бітів;
на місці тріад записати відповідні вісфмкові цифри (від 0 до 7); якщо для найстаршої тріади не вистачає двійкових цифр, то у старших бітах дописують потрібну кількість незначущих нулів;
у шістнадцяткову:
розбити двійкове число по чотири розряди (на тетради), починаючи з молодших бітів;
на місці тетрад записати відповідні 16-ові цифри (від 0 до F); якщо для найстаршої тетради не вистачає двійкових цифр, то у старших бітах дописують потрібну кількість незначущих нулів;
у десяткову:
до кожного із двійкових розрядів, починаючи з молодших бітів, дописати їх ваги у порядку зростання степенів числа 2 (2n-1 , … , 21, 20), тут n-1 – степінь найстаршого n-ого двійкового розряду;
написати значення ваг кожного із розрядів (тобто піднести число 2 до відповідного степеня);
додати ваги розрядів які дорівнюють «1»; одержана сума і буде десятковим еквівалентом даного двійкового числа;
у трійкову:
написати ваги трійкових розрядів, починаючи з молодших бітів, у порядку зростання степенів числа 3 (3m-1 , … , 31, 30), тут m-1 – степінь найстаршого m-ого трійкового розряду; *
підбирати до ваги кожного із розрядів відповідне трійкове значення (цифри 0, 1, 2) та записувати у відповідний розряд, починаючи із найстарших розрядів:
від десяткового числа віднімати підібране значення, помножене на відповідну вагу трійкового розряду;
обримана різниця – є новим десятковим числом для підбору наступного молодшого трійкового розряду;
підбір здійснювати доти, поки різниця стане рівною нулю.
Завдання 2. Перетворити ціле однобайтне двійкове число із знаком, яке записане прямому коді:
у десяткову систему числення;
Правило: переведення здійснюється аналогічно відповідного пункту у завданні 1 за винятком найстаршого біта який є знаковим: якщо цей біт =1, то таке число є від’ємним (знак «-»), а якщо =0, то – додатнім (знак «+»);
у обернений код;
Правило: обернений код отримується із прямого шляхом інвертування всіх бітів крім найстаршого – знакового;
у додатковий код;
Правило: додатковий код отримується із оберненого шляхом додавання до наймолодшого розряду одиниці;
до додаткового кода додати протилежне (до заданого числа) число (тобто з іншим знаком)
Правило: у заданому прямому коді двійкового числа інвертується найстарший знаковий біт (тобто дане число міняє знак на протилежний); до одержаного числа додається додатковий код. У результаті повинно вийти число на 1 розряд більше ніж задане, у якому найстарший біт рівний «1», а всі решта – «0».
Завдання 3. Представити десяткове дробове число у вигляді двохбайтного двійкового числа з фіксованою комою.
Правило: для двохбайтного двійкового числа з фіксованою комою задається розрядна сітка та відповідні ваги розрядів для цілої частини
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
для дробової частини
-1 |
-2 |
-3 |
-4 |
-5 |
-6 |
-7 |
-8 |
0,5 |
0,25 |
0,125 |
0,0625 |
0,03125 |
0,015625 |
0,007813 |
0,003906 |
Завдання 4. Представити десяткове дробове число,задане у завданні 3 у нормалізованому вигляді двійкового числа з плаваючою комою із мінімальнонеобхідною кількістю розрядів.
Послідовність виконання завдання:
записуємо мантису М – двійкове число без незначущих нулів (тобто відкидаємо нулі у старших бітах після найстаршої «1» цілої частини та молодших бітах після наймолодшої «1» дробової частини);
визначаємо порядок Р – кількість розрядів цілої частини після найстаршої «1» до наймолодшого розряду цілої частини, при цьому знак порядку – «+»; **
* Як правило, розрядність одного і того ж числа у трійковій системі числення менша ніж розрядність цього ж числа у двійковій системі (тобто m<n)
** При відсутності «1» у цілій частині, визначають кількість розрядів дробової частини після найстаршої «1» до найстаршого розряду дробової частини, при цьому знак порядку – «-»;
відкидаємо найстаршу «1» у мантисі;
задаємо порядок у двійковій формі;
представляємо число у такому форматі:
SP |
P |
SM |
M |
де SP – знак порядку (1 біт: «0» – знак «+», «1» – знак «-»),
P – порядок (кількість біт залежить від значення),
SM – знак мантиси (1 біт: «0» – знак «+», «1» – знак «-»),
M – мантиса (кількість біт залежить від значення).
підраховуємо сумарну кількість двійкових розрядів.
Завдання 5. Представити два варіанти цього ж числа у ненормалізованому вигляді у такому форматі :
біти 0 – 9 – мантиса із прихованим бітом для коми (кома знаходиться перед найстаршим бітом мантиси);
біт 10 – знак мантиси;
біти 11-14 – порядок;
біт 15 – знак порядку.
Послідовність виконання завдання:
(це завдання виконується на основі результатів виконання завдання 3)
із завдання 3 вибираємо 10 розрядів мантиси таким чином, щоб не втратити значущі біти цілої частини і записуємо у біти 0 – 9; *
* Якщо одна або декілька «1» дробової частини не вміщаються у формат для відображення мантиси (10 розрядів), то потрібно вказати втрату точності яка спричинена втратою одиничних бітів дробової частини.
записуємо біт знака мантиси (знак «+» – «0», знак «-» – «1») у 10-ий біт;
визначаємо порядок Р – кількість розрядів цілої частини через які перемістилась кома і записуємо у біти 11 – 14;
визначаємо знак порядку: якщо кома перемістилась у сторону старших бітів (вліво), то буде знак «+» (значення біта «0»), якщо у сторону молодших бітів (вправо) – знак «-»(значення біта «1») і записуємо у біт 15.
Практичне заняття №5
Тема: "Архітектура процесора"
Мета: закріпити теоретичні знання теми "архітектура процесора", виробити навики обчислення значень у двійковій системі числення з використанням 16-ої системи.