Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ofk_1.doc
Скачиваний:
3
Добавлен:
21.11.2019
Размер:
176 Кб
Скачать
☆

У двійковому поданні дана програма матиме наступний вигляд:

0000 0000 0000 1010 – двійковий код 1-ої інструкції

0010 0000 0000 1011 - - “ - 2-ої інструкції

0001 0000 0000 1100 - - “ - 3-ої інструкції

0111 1100 0000 0000 - - “ - 4-ої інструкції

Порядок виконання:

  • В набірне поле ввів число 10102(1010);

  • Заніс його в регістр адреси пам’яті;

  • В набірне поле ввів число 100112(2510);

  • Заніс його в регістр даних пам’яті;

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • На пульті управління збільшив значення адреси пам’яті на одиницю (кнопкою «+1»)

  • В набірне поле ввів число 011112(3010);

  • Заніс його в регістр даних пам’яті;

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • Ввів у набірне поле число 0000 0000 0000 (02);

  • Записав його в регістр адреси пам’яті;

  • У набірне поле записав двійковий код 1-ї інструкції 0000 0000 0000 1010;

  • Заніс його в регістр даних пам’яті;

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • На пульті управління збільшив значення адреси пам’яті на одиницю (кнопкою «+1»)

  • У набірне поле записав двійковий код 2-ї інструкції 0010 0000 0000 1011;

  • Заніс його в регістр даних пам’яті;

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • На пульті управління збільшив значення адреси пам’яті на одиницю (кнопкою «+1»)

  • У набірне поле записав двійковий код 3-ї інструкції 0001 0000 0000 1100;

  • Заніс його в регістр даних пам’яті;

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • На пульті управління збільшив значення адреси пам’яті на одиницю (кнопкою «+1»)

  • У набірне поле записав двійковий код 4-ї інструкції 0111 1100 0000 0000;

  • Заніс його в регістр даних пам’яті;

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • Ввів у набірне поле 0000 0000 0000 (02);

  • Кнопкою «ЛАІ» заніс дані з набірного поля в лічильник адреси інструкції;

  1. Виконати програму у автоматичному режимі і перевірити результат у 12-й комірці, прочитавши значення 12-ї комірки пам’яті.

Порядок виконання:

  • На пульті управління встановив автоматичний режим роботи;

  • Натиснув на кнопку «Пуск»;

  • Отримав наступні значення регістрів:

    • Регістр адреси пам’яті: 0000 0000 0011

    • Регістр даних пам’яті: 0111 1100 0000 0000

    • Акумулятор: 0000 0000 0010 1010

    • Регістр інструкцій: 0111 1100 0000 0000

    • Лічильник адреси інструкції: 0000 0000 0011

      • В набірне поле адресу 12-ої комірки пам’яті (11002);

Частка

Остача

55÷2=27 1

27÷2=13 1

13÷2=6 1

6÷2=3 0

3÷2=1 1

1÷2=0 1

5510=111011

  • Вніс дані в регістр адреси пам’яті;

  • Прочитав дані 12-ої комірки пам’яті (кнопкою «Читання» на пульті управління);

  • Отримав наступне значення регістру даних пам’яті: 0000 0000 0011 1011

0000 0000 0011 10112=5510

Значення акумулятора, 12-ої комірки пам’яті та необхідних обчислень збігаються, значить обчислення проведені вірно.

  1. Онулити 12-ту комірку, знову встановити у ЛАІ адресу першої інструкції – адресу 0 і дослідити цю програму, виконавши її у покроковому режимі. Після виконання кожної інструкції записати у таблицю вміст усіх регістрів процесора.

Порядок виконання:

  • Скинув значення набірного поля;

  • Вніс дані в регістр даних 12-ої комірки пам’яті (РА: 0000 0000 1100);

  • Кнопкою «Запис» записав число з регістру даних пам’яті за відповідною адресою;

  • Вніс дані в лічильник адреси інструкції;

  • На пульті управління встановив покроковий режим роботи;

  • Розпочав виконання інструкцій і отримав наступні значення регістрів процесора:

крок

РА

РД

А

РІ

ЛАІ

РО

1

0000 0000 1100

0000 0000 0010 0011

0000 0000 0010 1010

0000 0000 0000 1010

0000 0000 0011

0000 0000 0000 0000

2

0000 0000 1011

0000 0000 0001 1100

0000 0000 0011 1111

0010 0000 0000 1011

0000 0000 0010

0000 0000 0000 0000

3

0000 0000 1100

0000 0000 0011 1111

0000 0000 0011 1111

0001 0000 0000 1100

0000 0000 0011

0000 0000 0010 1010

4

0000 0000 0011

0111 1100 0000 0000

0000 0000 0011 1111

0111 1100 0000 0000

0000 0000 0011

0000 0000 0010 1010

Зміни у регістрах процесора:

  1. На першому кроці ЕОМ виконує інструкцію LOAD 10 (0000 0000 0000 1010):

    1. звертається до 10-ої комірки пам’яті (РА: 0000 0000 1010);

    2. зчитує її вмістиме (число 25; РД: 0000 0000 0001 0011);

    3. записує його в акумулятор (А: 0000 0000 0001 0011);

  2. На другому кроці ЕОМ виконує інструкцію ADD 11 (0010 0000 0000 1011):

    1. зветрається до 11-ої комірки пам’яті (0000 0000 1011);

    2. зчитує її вмістиме (число 30; РД: 0000 0000 0000 1111);

    3. додає до акумулятора число з 11-ої комірки пам’яті і зберігає результат в акумуляторі (число 52; А: 0000 0000 0011 1011);

  3. На третьому кроці ЕОМ виконує інструкцію STORE 12:

    1. звертається до 12-ої комірки пам’яті (РА: 0000 0000 1100);

    2. записує в неї дані з акумулятора (число 52; РД: 0000 0000 00114л 1011);

  4. На четвертому кроці ЕОМ:

    1. звертається до 3-ої комірки пам’яті (РА: 0000 0000 0011);

    2. зчитує її вмістиме (інструкція HALT; РД: 0111 1100 0000 0000);

    3. записує її до регістру інструкцій;

    4. зупиняє роботу процесора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]