CISC
SIMULATOR
Manual
Group 8
Lance Jefferson
Jasmy Elzha Mathew
Shivam Shah
Contents
1 Introduction.........................................................................................................................................4
1.1 Debugging Panel..........................................................................................................................4
1.1.1 Register Indicators Area........................................................................................................2
1.1.2 Memory Area.........................................................................................................................3
1.1.3 Controller Area......................................................................................................................3
1.1.4 Instruction Area....................................................................................................................4
1 Introduction
In this project, we design and implement a simple computer simulator. This simulator is a
simulation of a Complex Instruction Set Computer (CISC).
1.1 Entrance Criteria/How to run the code
Before you begin make sure you have the ability to run GUI on your computer in my case I
needed x11 to do this. In windows we would install Xlaunch.
Assuming you’ve installed X launch and know how to set everything up all you have to do is
run java -jar part1.java.
1.2 Debugging Panel
Debugging Panel displays all the information about the Registers, Indicators, and Memory in
the computer and can be written manually.
The panel is divided into three parts:
1.1.1 Register Indicators Area:
The Register Indicators display the values of all kinds of registers.
Type Size(bits) Number Description
GPR0...GPR3 16 4 General-Purpose Register
IXR1...IXR3 16 3 Index Register
MAR 16 1 Memory Address Register
MBR 16 1 Memory Buffer Register
PC 12 1 Program Counter
IR 16 1 Instruction Register
CC 4 1 Condition Code
MFR 4 1 Machine Fault Register
1.1.2 Memory Area:
The Memory Area shows the address, the value, the Hexadecimal value, and the Assemble
Code of each line on memory.
The memory address pointed by the Program Counter will be highlighted.
Double click to manually modify the binary value of a memory row.
Utilizing this memory interface, you will be able to either store or on the other hand load a
value to/from memory.
• Store: You should input a valid address (one between 0 and 2047) and a value (between 0
and 65535) in the address and value textboxes, respectively, in order to save a value in
memory.
• Load: Simply enter a valid address in the address textbox and click the load button to
display the content of that memory address in the value textbox if you want to load the
contents of a specific address of memory.
1.1.3 Controller Area:
The Controller Area integrates all function buttons and the instruction input box.
Functions of the buttons in Controller Area:
Button Function
IPL Pre-load a program from I/O
SS Run one instruction
1.1.4 Instruction Area:
Executing the command is the simulator's primary function. In front of each instruction
there are 16 radio buttons that correspond to the 16 bits of the instruction.
You can enter an instruction in the same way that you can pick or deselect registers. After
that, you can push “execute” to execute the instruction. When the execute button is pressed,
all register values are updated appropriately.
For instance, after performing a load instruction that loads data into one of the index
registers, the value associated with that index register will be shown on the user interface in
front of that index register. Executing that instruction will also alter the value of any further
registers, which will likewise be updated and shown. The First 6 dots represent OPCODE, the
next 2 Represent Index, Next 2 is General Purpose, then 1 dot of indirect and the final 5 dots
represent address.