Центральний процесор та пам'ять комп'ютера

Автор: Пользователь скрыл имя, 27 Февраля 2013 в 15:22, лабораторная работа

Описание работы

Мета роботи:
Ознайомитись з організацією процесору та основної пам'яті комп'ютера і їх взаємодією при виконанні команд програми. Отримати навики роботи з асемблерними відладчиками.

Работа содержит 1 файл

MPT_1U.DOC

— 226.00 Кб (Скачать)

Багато арифметичних, логічних команд та команд порівняння змінюють стан прапорців. При програмуванні на Асемблері  найбільш часто вживаними є прапорці OF, SF, ZF, CF для арифметичних операцій та операцій порівняння, а прапорець DF – для позначення напрямку в операціях над рядками.

 

Призначення прапорцевих  бітів:

Прапорець

Призначення

OF

Переповнення

Вказує на переповнення старшого біту при арифметичних командах.

DF

Напрям

Визначає лівий чи правий напрям пересилки або порівняння рядкових даних

ІF

Переривання

Вказує на можливість зовнішніх  переривань.

TF

Покроковий режим

Забезпечує можливість роботи процесора  в покроковому режимі.

SF

Знак

Містить результуючий знак після арифметичних операцій (0 – плюс, 1 –  мінус)

ZF

Нуль

Показує результат арифметичних операцій

(0 – ненульовий результат, 1 –  нульовий результат).

AF

Додатковий перенос

Містить перенос з 3-го біту (використовується для спеціальних арифметичних операцій).

PF

Контроль парності

Показує парність кількості бітів "1" в молодшому байті даних (1 – парна,  0 – непарна).

CF

Перенос

Вміщує перенос із старшого біту після арифметичних операцій, а також  біт, що "випав" при зсувах.


 

 

 

Асемблерний відладчик


 

Для відображення та модифікації вмісту внутрішніх регістрів МП і клітинок оперативної пам'яті, а також для відлагодження програм використовують спеціальні програмні засоби – ассемблерні відладчики (Debug, AfdPro, тощо).

В даній лабораторній роботі використовується асемблерний віладчик TІC (файл tіc.com), що має досить зручний інтерфейс та развинуті відладжувальні засоби.

Основний робочий екран відладчика розбито на такі функціональні зони (мал. 1.4):

1. Командне вікно – служить для введення команд управління роботою самого відладчика. Завантаження відладжуваної програми в робочу область пам'яті здійснюється командою  L_<ім'я програми.

2. Програмне вікно – демонструє команди відладжуваної програми в звичному вигляді (мнемоніки Асемблера) та у вигляді машинних кодів. Завантажена для відлагодження програма представлена в цьому вікні у  вигляді 4-х колонок:

 

Ž ПРОЦЕСОРНЕ ВІКНО

 

Œ КОМАНДНЕ ВІКНО





ВІКНО

  ПРОГРАМНЕ ВІКНО

ПАМ'ЯТІ

   



‘

ВІКНО ПАМ'ЯТІ

ASCІІ-

 

ВІКНО

’  РЯДОК ПіДКАЗОК

 

Мал. 1.4   Функціональні вікна

ассемблерного відладчика




– адреса (зміщення в сегменті кодів ОП) старшого байту команди;

– машинний код команди (1...6 байт);

– мнемонічне ім'я операції;

– операнд чи операнди (якщо є).

   

Табл. 1.2

Команда

 

ADD  AL, [SІ+02]

1-й операнд

місцезнаходження:

молодший байт регістру AX

 

значення:

97

2-й операнд

місцезнаходження:

клітинка пам'яті в  сегменті даних, що має зміщення SІ+02=3244+02= 3246

 

значення:

DA

 

місцезнаходження:

молодший байт регістру AX

Результат

значення:

97+DA=171

 

двійкове представлення:

0001 0111 0001

Стан прапорців

 

ZF: 0     CF: 1     PF: 1     SF: 0     AF: 1




Переміщатися по тексту завантаженої програми можна за допомогою клавіш управління курсором.

3. Процесорне вікно – відображує вміст регістрів МП, в тому числі прапорців, а також вершину стеку. В цьому вікні можна безпосередньо змінювати вміст регістрів МП.

Таблиця 1.1

Основа  системи

 обчислення

10

16

2

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111




4, 5. Вікна пам'яті – мають однакове призначення і надають зручну можливість одночасного доступу до двох різних ділянок пам'яті.

Вміст пам'яті представлений у  вигляді послідовності рядків з 8 (праве вікно) або 16 (нижнє вікно) клітинок пам'яті. На початку кожного рядку вказаний регістр, що адресує даний сегмент та адреса (зміщення всередені цього сегменту) першої з клітинок в рядку). Для переходу в інший сегмент достатньо, розташувавши курсор на імені сегментного регістру, вказати за допомогою клавіатури інше дозволене ім'я. Аналогічно, в будь-якому рядку можна безпосередньо вказати також і зміщення в цьому сегменті потрібної клітинки.

6. ASCІІ – вікно. Представляє вміст пам'яті у вигляді символьних кодів.

7. Рядок підказок. Визначає дії, що закріплені за кожною з 10 функціональних клавіш.

 

Примітка: для забезпечення компактності та більш зручного сприйняття вся  числова інформація представлена на экрані відладчика в шістнадцятковому форматі (відповідність між шістнадцятковими, звичайними десятковими та двійковими числами приведена в табл.1.1)

 

Порядок виконання роботи

1. Створити в своєму директорії піддиректорій LAB1  і скопіювати в нього файли tіc.com та lab1.exe .

2. Запустити на виконання асемблерний відладчик і завантажити в командному вікні програму lab1.exe. Освоїти переміщення по екрану відладчика, модифікацію вмісту регістрів МП та клітинок пам'яті, пошук потрібної клітинки пам'яті за її логічною адресою.

3.  Прослідити порядок заповнення та вивільнення стеку. Прослідити за зміною вмісту лічильника команд ІP при виконанні команд програми, в тому числі при переходах, циклах і викликах підпрограм.

       

Пам'ять

     
               

40000

             
               
               
       

Сегмент

     
       

стеку

     

30000

             
             

2DA50

               
               
       

Сегмент

     

20000

     

коду

     
               
             

1A880

       

Сегменти

     
       

даних

   

12870

10000

             
               

00000

             

 

Мал. 1.5  Схема розміщення

програми в ОП.

(CS: 1A88, DS: 1287,

ES: 1287, SS:  2DA5)




4. Для вказаної викладачем команди пересилки даних знайти її машинне представлення в пам'яті. Визначити і знайти на екрані відповідні джерела та приймачі інформації. Перевірити, виконавши команду в покроковому режимі.

5. Для вказаної викладачем арифметичної команди обчислити результат (приклад - табл.1.2). Здійснити перевірку, виконавши команду за допомогою відладчика.

6. Завантажити в відладчик вказану викладачем програму. Використовуючи дані з відповідних сегментних регістрів та відому довжину сегменту, скласти схему розміщення програми в пам'яті (приклад на мал 1.5).

 

 

Зміст протоколу роботи

  • Мета роботи, короткі теоретичні відомості.
  • Розрахунки до виконання команди програми (п.5).
  • Схема розміщення програми в пам'яті (п.6).

Информация о работе Центральний процесор та пам'ять комп'ютера