езультат поміщає в пам'ять за адресою А3, формує РФ. Потім СЧАК збільшується на довжину команди, або змінюється штучно. br/>
3. Моделюють змінні
Так як моделируемая ЕОМ містить три основні пристрої: пам'ять, УУ, АЛУ-то програма теж буде містити три класи. Розпишемо всі моделюють змінні по класах. p align="justify"> В клас RAM (клас, що позначає пам'ять) будуть входити РОП, АОП і власне пам'ять. Оперативну пам'ять представимо одномірним масивом байтів. Так як заданий обсяг оперативної пам'яті 2048 байт, то і розмір масиву теж буде 2048. Кожному елементу масиву при цьому відповідає комірка пам'яті, тобто один байт. Рівень доступу обмежимо, так як в реальному процесорі ми не можемо змінювати значення комірок пам'яті безпосередньо. p align="justify"> АОП зберігає інформацію про адресу осередку з якої (до якої) читаються (записуються) дані. Так як пам'ять складається з 8 рядків в діапазоні 0-255 байт, то АОП будемо представляти двобайтового змінної (тип short), яка буде містити номер елемента масиву. p align="justify"> РОП зберігає дані, які містяться у клітинці, з якої читають або записують дані. Так як в пам'яті зберігаються байти, то і РОП буде мати тип byte. p align="justify"> В клас ALU будуть входити регістри Р1, Р2, Прапори, А1, А2, А3.
Р1 і Р2 - регістри операндів, а значить їх тип буде byte.
Адресні регістри вказують на зміщення в сторінці, значить вони мають значення від 0 до 255, для позначення цього використовуємо тип byte. Створимо масив складається з трьох елементів (public byte [] A = new byte [3] ;). A [0] - регістр A1, A [1] - регістр A2, A [2] - регістр A3. Це дозволить зменшити опис команд MOVAi, так як за кодом команди буде видно в який з регістрів записати константу. p align="justify"> Регістр прапорів позначимо змінної RF типу byte. Дана змінна формує три ознаки. Для опису цього знадобиться три біти. p align="justify">-й біт відповідає за рівність результату нулю, 2-ий - за негативність результату, 3-ій за арифметичне переповнення. Якщо результат має будь-якої ознака, то в цьому бите перебувати 1, інакше 0. p align="justify"> В клас UU (пристрої управління) будуть входити СЧАК і РК.
СЧАК представимо змінної типу short, оскільки адреса в масиві пам'яті задається від 0 до 2047. public short SCHAK = 0;
Для регістра команд створимо масив з двох елементів, так як команди можуть бути довжиною в 1 або 2 байти. У першій клітинці буде зберігатися перший байт команди, у другій клітинці - другий байт команди. br/>
4. Аналіз набору команд
Мнемоніка команд модельованого процесора
КодМнемокодОпісаніе 00000MOVA1 константаА1 = константа00001MOVA2 константаА2 = константа00010MOVA3 константаА3 = константа00100ADD с...