У двійковому поданні дана програма матиме наступний вигляд:
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);
Кнопкою «ЛАІ» заніс дані з набірного поля в лічильник адреси інструкції;
Виконати програму у автоматичному режимі і перевірити результат у 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-ої комірки пам’яті та необхідних обчислень збігаються, значить обчислення проведені вірно.
Онулити 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 |
Зміни у регістрах процесора:
На першому кроці ЕОМ виконує інструкцію LOAD 10 (0000 0000 0000 1010):
звертається до 10-ої комірки пам’яті (РА: 0000 0000 1010);
зчитує її вмістиме (число 25; РД: 0000 0000 0001 0011);
записує його в акумулятор (А: 0000 0000 0001 0011);
На другому кроці ЕОМ виконує інструкцію ADD 11 (0010 0000 0000 1011):
зветрається до 11-ої комірки пам’яті (0000 0000 1011);
зчитує її вмістиме (число 30; РД: 0000 0000 0000 1111);
додає до акумулятора число з 11-ої комірки пам’яті і зберігає результат в акумуляторі (число 52; А: 0000 0000 0011 1011);
На третьому кроці ЕОМ виконує інструкцію STORE 12:
звертається до 12-ої комірки пам’яті (РА: 0000 0000 1100);
записує в неї дані з акумулятора (число 52; РД: 0000 0000 00114л 1011);
На четвертому кроці ЕОМ:
звертається до 3-ої комірки пам’яті (РА: 0000 0000 0011);
зчитує її вмістиме (інструкція HALT; РД: 0111 1100 0000 0000);
записує її до регістру інструкцій;
зупиняє роботу процесора.
