Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка емулятора

Реферат Розробка емулятора





y"> емулятор програма процесор цикл

5. Розробка структури програми: класів і методів


При перетворенні команд з мнемокода асемблер використовує формат В«ознака-байтВ». Тоді в кожній парі байтів перший байт може приймати значення: 0 - ознака того, що другий байт пари адреса розміщення наступних байтів програми, 1-ознака того, що другий байт пари - командний байт. p align="justify"> поміщає команду, що зберігається в комірці пам'яті під номером, записаним у SCHAK, в нульовий елемент масиву RК, за допомогою switch визначає за кодом команду, який її розмір, і записує другий байт команди, для команд другого типу , в перший елемент масиву. Після цього для команд другого типу заповнюються адресні регістри, для команд типу 1А - регістри R1 і R2, потім викликається відповідний метод ALU. По закінченні методу для команд типу 1А мінлива класу RAM memChange отримає значення true, для того, щоб потім знати про зміну в пам'яті. SCHAK збільшується на довжину команди. Крім команд зазначених у мнемоніці даної структури UU визначає умовну команду HALT. Для цієї команди не виконується ніяких дій, лише значення isRunning змінюється на false. Після цього дані про регістри виводяться у файл протоколу. p align="justify"> Клас processor керуватиме виконанням програми.

Він міститиме екземпляри класів RAM, UU, ALU.

У цьому класі буде міститися метод читання з об'єктного файлу та заповнення пам'яті, метод обнулення пам'яті і всіх регістрів, метод виведення масиву пам'яті, методи для покрокового і повного виконання програми.

Метод input (читання) не містить параметрів і що повертається. Метод працюватиме з потоком вводу. Так як вхідний файл бінарний, то необхідно використовувати клас RandomAccessFile. З вихідного файлу дані будемо посимвольний зчитувати і записувати в байтовий масив VXfile. Потім, використовуючи цей масив, будемо заповнювати пам'ять. У циклі for від початку до кінця VXfile, використовуючи перемикач switch, будемо порівнювати значення елемента масиву з 0 або 1. Так як використовувався формат В«ознака-байтВ», то якщо VХfile [i] буде дорівнює 0, то Vxfile [i +1] і VXfile [i +3] будуть адресою розміщення наступних команд (сторінка і зсув відповідно). Якщо ж VХfile [i] = 1, то наступний байт є командним і буде записаний за допомогою методу write () класу RAM в пам'ять.

Метод makingNull (обнуління пам'яті) не містить параметрів і значення, що повертається. Цей метод необхідний для обнулення масиву пам'яті і регістрів перед виконанням, для наочності.

Метод out (висновок масиву пам'яті) ...


Назад | сторінка 5 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Система команд. Структура слова команд. Синтаксис команд. Групи команд
  • Реферат на тему: Порівняння методів одновимірної оптимізації: метод золотого перетину і мето ...
  • Реферат на тему: Порівняння ефективності різних методів розв'язання систем лінійних алге ...
  • Реферат на тему: Розробка структури гіпотетичного мікропроцесора і центральній частині МЕОМ ...
  • Реферат на тему: Рішення систем нелінійніх рівнянь. Метод ітерацій. Метод Ньютона-Канторов ...