Описание классов программной модели двух-адресной ЭВМ
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
- класс, описывающий регистр команд. Содержит только поля регистра команд, также объявленные как publicpublic 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