Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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 – Записи чисел в різних системах числення

Двійкова (b) Вісімкова (o/q) Десяткова (d) Шістнадцяткова (h)
       
       
       
       
       
       
       

Продовження таблиці 6.1

       
       
       
       
       
      A
      B
      C
      D
      E
      F

 


Для переведення цілого числа з десяткової системи в іншу необхідно у вихідній системі числення ділити представлене число на нову основу, отриману частку необхідно далі ділити на основу до отримання неподільної частки і здійснювати запис у порядку зворотному до їх одержання.

Процес переводу десяткового числа 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.012 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию