Описание классов программной модели двух-адресной ЭВМ Sahara2000

Программная модель состоит из четырех пакетов:

ALU - класс, описывающий арифметико-логическое устройство. Содержит метод

public static int Action(int iOpcode , int iA , int iB) , выполняющий арифметико-логическое действие над операндами iA и iB, определяемое кодом операции iOpcode;

 

GPRF - класс, описывающий файл регистров общего назначения. Инкапсулирует регистровый файл

protected static int[] iRegisters;

и содержит методы

public static void initialize(int iNumberOfRegisters) для инициализации регистрового файла

public static int readGPR(int iNumber) для чтения регистра

public static void writeGPR(int iNumber , int iValue) для записи регистра

 

IRS - клас, описывающий внутренние регистры. Содержит свойства

public static int FLAGS;

public static int PC;

public static int Accumulator;

public static int A , B;

и метод

public static void Initialize().

Все свойства объявлены как public для упрощения исходного текста программы, хотя это и не отвечает основным принципам объектно-ориентированного подхода. При данных объемах исходного текста полная инкапсуляция не дает приемуществ при разработке.

MIR - класс, описывающий регистр команд. Содержит только поля регистра команд, также объявленные как public

public static int opcode;

public static int reg;

public static int dataaddress;

public static int address0;

public static int address1;

RAM - класс, описывающий системную память. Инкапсулирует массив системной памяти

protected static int[] iData;

и содержит методы:

public static void initialize (int iMemorySize) - для инициализации

public static int readRAM (int iAddress) - для чтения памяти

public static void writeRAM (int iAddress , int iValue) - для записи в память

public static void Fetch() - для выборки команды

public static void Decode() - для декодирования команды

public static void Execute() - для выполнения команды

public static void saharaInit() - для инициализации всей ЭВМ

В последнем варианте модели не используется.

ExceptionDialog - для вывода диалогового окна с сообщением о возникшем исключении

RegDialog - основное окно модели. Может существовать независимо.

Sahara2000 - основной класс модели, порожденный от класса java.applet.Applet. Содержит окно приветствия.

Получить файл с исходными текстами

Описание классов программной модели двух-адресной ЭВМ Sahara 2000, Павел Гончар, ВТ95в, ДГТУ, Украина, 1999




Rambler's Top100