Виконання:
За допомогою набірного поля і кнопок поля «Операція з пам’яттю» я розмістив в памяті комп’ютера програму яка додаватиме числа з комірок 10 і 11 та заноситиме результат до 12-ї комірки. Запис програми проходив таким чином: до комірки 0 я заніс двійковий код першої інструкції користуючись набірним полем, кнопками занесення до регістрів і кнопкою запису. Ці ж дії повторив для інших інструцій заносячи їх до наступних комірок.
Щоб занести числа які будуть додаватись я спочатку перевів їх до двійкової системи числення:
22 : 2 = 11 (0) 33 : 2 = 16 (1)
11 : 2 = 5 (1) 16 : 2 = 8 (0)
5 : 2 = 2 (1) 8 : 2 = 4 (0)
2 : 2 = 1 (0) 4 : 2 = 2 (0)
1 : 2 = 0 (1) 2 : 2 = 1 (0)
1 : 2 = 0 (1)
Перевівши числа заніс число до комірки адресою , а до комірки адресою
= = =
Виконати програму у автоматичному режимі і перевірити результат у 12-й комірці, прочитавши значення 12-ї комірки пам’яті.
Виконання:
Я виконав програму в автоматичному режимі натиснувши кнопку «Пуск», перед цим перевіривши чи вибраний потрібний режим. Після цього я перевірив значення комірки 12. Для цього в набірному полі я набрав намер комірки (0000 0000 0000 1100), заніс його до Регістру Адреси пам’яті і натиснув кнопку «Читання». В полі «Пам’ять» я перевірив значення комірки 12, яке відобразилося в Регістрі Даних пам’ті.
Там було число 110111. Я перевів його до десяткової системи числення:
Результат додавання виявився правильним.
Онулити 12-ту комірку, знову встановити у ЛАІ адресу першої інструкції – адресу 0 і дослідити цю програму, виконавши її у покроковому режимі. Після виконання кожної інструкції записати у подану нижче таблицю вміст усіх регістрів процесора.
Виконання:
Для онулення комірки 12 я набрав її адресу (0000 0000 0000 1100) і заніс до Регістру Адреси пам’яті, потім до Регістру Даних пам’яті заніс значення 0 (0000 0000 0000 000) і натиснув кнопку «Запис».
У Лічильник Адреси Інструкції я заніс адресу першої інструкції, а саме адресу нульової комірки (0000 0000 0000 0000) і запустив програму в покроковому режимі обравши «Покроковий» режим і натиснувши «Пуск».
Зміни значень в регістрах я записав у таблицю:
Крок |
РА |
РД |
А |
РІ |
ЛАІ |
РО |
1 |
0000 0000 1010 |
0000 0000 0001 0110 |
0000 0000 0001 0110 |
0000 0000 0000 1010 |
0000 0000 0001 |
000 |
2 |
0000 0000 1011 |
0000 0000 0010 0001 |
0000 0000 0011 0111 |
0010 0000 0000 1011 |
0000 0000 0010 |
000 |
3 |
0000 0000 1100 |
0000 0000 0011 0111 |
0000 0000 0011 0111 |
0001 0000 0000 1100 |
0000 0000 0011 |
000 |
4 |
0000 0000 0011 |
0111 1100 0000 0000 |
0000 0000 0011 0111 |
0111 1100 0000 0000 |
0000 0000 0011 |
000 |
Тепер проаналізуймо зміни в кожному з регістрів:
Регістр Адреси пам’яті (РА):
-
1-й крок: звернення до 10-ї комірки пам’яті (0000 0000 1010)
-
2-й крок: звернення до 11-ї комірки пам’яті (0000 0000 1011)
-
3-й крок: звернення до 12-ї комірки пам’яті (0000 0000 1100)
-
4-й крок: звернення до 3-ї комірки пам’яті (0000 0000 0011)
Регістр Даних пам’яті:
-
1-й крок: зчитування першого числа (0000 0000 0001 0110)
-
2-й крок: зчитування другого числа (0000 0000 0010 0001)
-
3-й крок: зчитування суми чисел (0000 0000 0011 0111)
-
4-й крок: зчитування інструкції HALT з третьої комірки (0111 1100 0000 0000)
Акумулятор:
-
1-й крок: завантаження першого числа з 10-ї комірки (0000 0000 0001 0110)
-
2-й крок: додавання другого числа з комірки 11 до першого і збереження суми (0000 0000 0011 0111)
-
3-й крок: без змін, продовження збереження суми (0000 0000 0011 0111)
-
4-й крок: без змін, продовження збереження суми (0000 0000 0011 0111)
Регістр Інструкцій:
-
1-й крок: завантаження першої інструкції (0000 0000 0000 1010)
-
2-й крок: завантаження другої інструкції (0010 0000 0000 1011)
-
3-й крок: завантаження третьої інструкції (0001 0000 0000 1100)
-
4-й крок: завантаження четвертої інструкці (0111 1100 0000 0000)
Лічильник Адреси Інструкцій:
-
1-й крок: вказує процессору, що виконується перша інструкція (0000 0000 0000 0001)
-
2-й крок: вказує процессору, що виконується друга інструкція (0000 0000 0000 0010)
-
3-й крок: вказує процессору, що виконується третя інструкція (0000 0000 0000 0011)
-
4-й крок: зміни не відбуваються (0000 0000 0000 0011)
Регістр ознак:
-
Без змін протягом виконання всієї программи (000)
Висновок: я вивчив теоретичні відомості про основи побудов систем числення, які використовуються в комп’ютерах. Познайомився з навчальним комп’ютером – симулятором DeComp, навчився заносити дані до різних регістрів та до комірок пам’яті і написав свою першу програму користуючись двійковими інструкціями симулятора.