Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНА РОБОТА общее.doc
Скачиваний:
34
Добавлен:
18.03.2015
Размер:
5.16 Mб
Скачать

Лабораторна робота №5

Тема: ЧИСЛА, КОДУВАННЯ Й АРИФМЕТИЧНА ІНФОРМАЦІЯ

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

Теоретична частина

АРИФМЕТИКА В ДОДАТКОВОМУ КОДІ

Мікропроцесор може використовувати числа у формі додаткового коду, тому що він у стані виконувати операції доповнення (інверсії), інкрементування (додавання 1 до числа) і додавання двійкових чисел. Мікропроцесор не пристосований для прямого вирахування. Він використовує суматори й для виконання вирахування оперує над додатковим кодом.

Складемо десяткові числа +5 і +3. Розглянемо процедуру дій у випадку одночасного додавання чисел у десятковому й у додатковому кодах:

1-е число (+5) 0000 0101

+ +

2-е число (+3) 0000 0011

(+8) 0000 1000

Згідно табл. 2. в лабораторній роботі №4 +5 = 0000 0101 у додатковому коді аналогічно +3 = 0000 0011. Тоді числа в додатковому коді 0000 0101 і 0000 0011 складаються, як звичайні двійкові числа, даючи суму 0000 1000 у додатковому коді, тобто 0000 1000 = +810.

Нехай треба скласти десяткові числа +7 і —3. Згідно табл. 2.10 +7 = 0000 0111 і —3 = 1111 1101 відповідно в додатковому коді. Вони потім складаються, як звичайні двійкові числа, і результат 1 0000 0100 виходить у додатковому коді:

1-е число (+7) 0000 0111

+ +

2-е число (—3) 1111 1101

(+4) 1 0000 0100

Зневажити переповненням.

Старший біт є переповненням 8-розрядного регістра, і їм можна зневажити. Одержуємо суму 0000 0100 або +410.

Складемо десяткові числа +3 і —8. Згідно все тої ж табл. 2.10 +3 = 0000 0011 і —8 = 1111 1000. Їхні додаткові коди 0000 0011 і 1111 1000 складаються, як звичайні двійкові числа, що дає 1111 1011 = —510:

1-е число (+3) 0000 0011

+ +

2-е число (—8) 1111 1000

(-5) 1111 1011

Складемо десяткові числа —2 і —5. У додатковому коді згідно табл. 2. в лабораторній роботі №4 —2 = 1111 1110 і —5 = 1111 1011. Два числа 1111 1110 і 1111 1011 складаються, як звичайні десяткові числа, що дає 1 1111 1001:

1-е число (-2) 1111 1110

+ +

2-е число (—5) 1111 1011

(-7) 1 1111 1001

Зневажити переповненням.

Старший біт результату є переповненням 8-розрядного регістра, і їм зневажаємо. Таким чином, сумою двох чисел 1111 1110 і 1111 1011 у додатковому коді буде 1111 1001. Згідно табл. 2. в лабораторній роботі №4 сума 1111 1001 = — 710.

Віднімемо тепер десяткове число +5 з десяткового числа +8. Перше число +8 = 0000 1000, друге +5 = 0000 0101. У додатковий код (інвертувати й додати 1) повинне бути перетворене число 0000 0101, що дає 1111 1011. Потім перше число 0000 1000 складається з додатковим кодом другого 1111 1011, як зі звичайним двійковим числом, що дає 1 0000 0011:

1-е число (+8) 0000 1000

– Додатковий код

2-е число(+5) = 0000 0101 11111011

(+3) 100000011

Зневажити переповненням.

Старший біт є переповненням регістра, їм зневажаємо, що дає результат 0000 0011 = +310. Помітимо, що друге число було представлено в додатковому коді, потім складемо з першим. Використовуючи додатковий код і суматор, мікропроцесор виконує вирахування.

Віднімемо тепер більше десяткове число +6 з десяткового числа +2:

1-е число (+2) 0000 0010

– Додатковий код +

2-е число(+6) = 0000 0110 11111010

(-4) 11111100

Додатковий код першого числа +2 = 0000 0010, друге число +6 = 0000 0110, його додатковий код (інверсія й додавання 1) —1111 1010. Обидва ці коди складені потім, як звичайні двійкові числа, що дає 1111 1100, а згідно табл. 2.10 1111 1100 = —410.

Вправи

1. Скласти наступні десяткові числа зі знаком, використовуючи метод додаткового коду:

а) (+7) б) (+31)

+ +

(+1) (+26).

2. Скласти наступні десяткові числа зі знаком, використовуючи метод додаткового коду:

а) (+8) б) (+89)

+ +

(-5) (-46).

3. Скласти наступні десяткові числа зі знаком, використовуючи метод додаткового коду:

а) (+1) б) (+20)

+ +

(-6) (-60).

4. Скласти наступні десяткові числа зі знаком, використовуючи метод додаткового коду:

а) (-3) б) (-13)

+ +

(-4) (-41).

5. Відняти наступні десяткові числа зі знаком, використовуючи метод додаткового коду:

а) (+7) б) (+113)

- -

(+2) (+50).

6. Відняти наступні десяткові числа зі знаком, використовуючи метод додаткового коду: а) (+3) б) (+12)

- -

(+8) (+63).

ЛІТЕРАТУРА.

1. Описание «Микролаб». (с. 21-22, с. 47-49, с. 97-100).

2. Токхайм Р. Микропроцессоры. Курс и упражнения. (с. 161-168).

3. Гилмор Ч. Введение в микропроцессорную технику М., Мир, 1987, (с. 109-137).