Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Завдання на роботу. Визначити стан регістрів, комірок пам’яті та прапорців після виконання команд:
Визначити стан регістрів, комірок пам’яті та прапорців після виконання команд: 1) ADD [SI+07], AX 2) SUB DX, [SI+18] 3) NEG AX 4) INC SI 5) DEC BX Можна вказувати стан тільки тих регістрів та комірок пам’яті, котрі змінюються даною командою. Перед кожною наступною командою зберігається стан регістрів і комірок пам’яті, встановлених попередніми командами. Початковий стан регістрів та комірок пам’яті: АX=72DE BX=0006 DX=5EAC SI=0004 AX=****,BX=****, DS:0000 CD 20 00 A0 00 9A F0 FE CX=****,DX=****, CF* DS:0008 1D F0 07 21 A1 FD CC 0A SI=****,DI=****, ZF* DS:0010 20 0C 80 02 A2 1A 10 0C BP=****. PF* DS:0018 01 01 01 00 02 07 FF FF Аркуш із очіуваними станами регістрів та комірок пам’яті підписати у викладача, після чого виконати команди у оболонці Turbo Debugger і перевірити правильність очікуваних результатів.
Варіанти завдань
АХ=84С3 DX=0005 CX=0129 SI=0004 1 ADD [SI+07],CX SUB AX,[DX] NEG AX DEC BYTE [BX+SI+09] INC DL 2 ADD [DX+SI+06],CH SUB AX,[DX] NEG word [SI] INC DH DEC BYTE [BX] 3 SUB AX,[DX+12] NEG AX INC AX ADD DH, [DX+05] DEC BX 4 ADD [SI+07],CX SUB AX,[DX] NEG BX DEC BYTE [BX+SI+09] INC DL 5 ADD [DX+SI+06],CH SUB AX,[DX] NEG word [SI] INC DH DEC BYTE [BX] 6 INC DL SUB CX, [SI+10] NEG AX DEC BYTE [BX+02] ADD [SI+03],CX 7 DEC BYTE [SI+09] ADD [BX+03],CX INC BX SUB BP,[DX+08] NEG WORD [SI+BX] 8 ADD [SI+07],CX SUB AX,[DX] NEG AX DEC BYTE [BX+SI+09] INC DL 9 ADD [DX+SI+06],CH SUB AX,[DX] NEG word [SI] INC DH DEC BYTE [BX] 10 SUB AX,[DX+12] NEG AX INC AX ADD DH, [DX+05] DEC BX 11 ADD [SI+07],CX SUB AX,[DX] NEG BX DEC BYTE [BX+SI+09] INC DL 12 ADD [DX+SI+06],CH SUB AX,[DX] NEG word [SI] INC DH DEC BYTE [BX] 13 INC DL SUB CX, [SI+10] NEG AX DEC BYTE [BX+02] ADD [SI+03],CX 14 DEC BYTE [SI+09] ADD [BX+03],CX INC BX SUB BP,[DX+08] NEG WORD [SI+BX] 5.4 Приклад оформлення звіту
Покроковий стан флагів: 1 крок: зміна стану прапорців: PF = 0. АX=72DE BX=0006 DX=5EAC SI=0004 DS:0000 CD 20 00 A0 00 9A F0 FE DS:0008 1D F0 07 DE 72 FD CC 0A DS:0010 20 0C 80 02 A2 1A 10 0C DS:0018 01 01 01 00 02 07 FF FF
2 крок: зміна стану прапорців: CF = 0. АX=72DE BX=0006 DX= 5DE3 SI=0004 DS:0000 CD 20 00 A0 00 9A F0 FE DS:0008 1D F0 07 DE 72 FD CC 0A DS:0010 20 0C 80 02 A2 1A 10 0C DS:0018 01 01 01 00 02 07 FF FF
3 крок: зміна стану прапорців: CF = 1, PF = 1. АX= 8D21 BX=0006 DX=5DE3 SI=0004 DS:0000 CD 20 00 A0 00 9A F0 FE DS:0008 1D F0 07 DE 72 FD CC 0A DS:0010 20 0C 80 02 A2 1A 10 0C DS:0018 01 01 01 00 02 07 FF FF
4 крок: прапорці не змінили свої значення. АX=8D21 BX=0006 DX=5DE3 SI= 0005 DS:0000 CD 20 00 A0 00 9A F0 FE DS:0008 1D F0 07 DE 72 FD CC 0A DS:0010 20 0C 80 02 A2 1A 10 0C DS:0018 01 01 01 00 02 07 FF FF
5 крок: прапорці не змінили свої значення. АX=8D21 BX= 0005 DX=5DE3 SI=0005 DS:0000 CD 20 00 A0 00 9A F0 FE DS:0008 1D F0 07 DE 72 FD CC 0A DS:0010 20 0C 80 02 A2 1A 10 0C DS:0018 01 01 01 00 02 07 FF FF ЛАБОРАТОРНА РОБОТА №6
ПРЕДСТАВЛЕННЯ ЧИСЛОВИХ ЗНАЧЕНЬ
6.1 Мета роботи
Навчитися представляти числові значення в різних системах числення. Реалізувати програму для переведення чисел з однієї системи в іншу та виведення результату на екран.
6.2 Теоретичні відомості
Основною одиницею зберігання даних в комп’ютері є біт який може приймати значення логічного нуля ”0” та логічної одиниці ”1”. Вісім біт складають байт, оскільки кожен з бітів приймає тільки один з двох можливих значень то байт може мати 256 різних варіантів, що дозволяє представляти цілі числа в діапазоні від 0 до 255. В процесі програмування на мовах Turbo Assembler для представлення чисел можна використовувати двійкову, вісімкову, десяткову або шістнадцяткову системи числення. Варіанти запису чисел у згаданих системах подано в наступній таблиці: Таблиця 6.1 – Записи чисел в різних системах числення
Продовження таблиці 6.1
Для переведення цілого числа з десяткової системи в іншу необхідно у вихідній системі числення ділити представлене число на нову основу, отриману частку необхідно далі ділити на основу до отримання неподільної частки і здійснювати запис у порядку зворотному до їх одержання. Процес переводу десяткового числа 100 в двійковий формат за допомогою операції ділення на основу системи числення має наступний вигляд:
Тобто, в результаті переведення ми отримаємо 100d → 1100100b.
Для здійснення зворотного переведення з двійкової системи в десяткову користуються наступною формулою: , (6.1) де q – основа; x – цифра системи числення; k – порядковий номер (номер позиції, біта). Отже, для переводу 1100100b в десяткову необхідно виконати наступні операції: 1×26+1×25+0×24+0×23+1×22+0×21+0×20 = 100
Суттєвою проблемою двійкового представлення є те, що числа з основою 2 є дуже довгими і ними не зручно оперувати. Вісімкове (з основою 8) представлення чисел дещо компактніше оскільки один символ відтворює значення трьох біт в двійкового, рис.7.1. Рисунок 6.1 – Представлення двійкового числа 001100100b (десяткове 100) у вісімковому форматі
Процес переводу десяткового числа 100 у вісімковий формат за допомогою операції ділення на основу системи числення має наступний вигляд:
Найбільш компактною і як наслідок найпоширенішою є шістнадцяткова система числення оскільки вона дозволяє одним символом відтворити значення чотирьох біт в двійкового числа, рис.6.1. Рисунок 6.2 – Представлення двійкового значення 10001111b (десяткове 143) у шістнадцятковому форматі
Слід зауважити, що шістнадцяткові числа обов’язково повинні починатися з цифри (0…9). Переведення в інші системи числення, такі як трійковя, четвіркова тощо здійснюється по аналогії. Крім того досить часто використовується одинична Unary система числення, яка зазвичай застосовується в лічильниках різних типів. Унітарний базис допускає використання тільки одного біту даних – “1”, а конкретне число визначається кількістю таких інформаційних біт. Таким чином десяткове число 8 переводиться в унітарну на основі формування відповідно восьми одиничних біт: 8Dec ® 11111111Unary
Date: 2015-12-12; view: 484; Нарушение авторских прав |