Skip to content

vntkumar8/Sic_Assembler_Emulator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Sic_Assembler_Emulator

SIC - ASSEMBLER - SIMULATOR

Contribution

  • Contribution of Shubham ranu : Designing OPTAB.
  • Sushant Gupta : Assembler and their helper classes like ObjectCode,TextRecordClaass,EndRecord,Hearderrecord,Pass1,pass2.
  • Vineet Kumar and Hari Bhushan : ExecEngine Class (loader part and objectcode executer) & GUI for Simulator.

Prerequisites

You need to have JAVA installed in your machine. This is the easiest version. First update the package index.

$ sudo apt-get update

Then check if java is intalled or not.

$ java -version

If it returns "The program java can be found in the following packages", Java hasn't been installed yet, so execute the following command:

$ sudo apt-get install default-jre
$ sudo apt-get install default-jdk

That is everything you need to install Java.

Run the simulator

First get into the folder SIC-Assembler-Simulator :

cd SIC-Assembler-Simulator/

Now compile the program :

javac UI.java

Run the compiled program :

java UI

You will notice the following dialog box come up :

email.jpg

Enter your SIC code in the Source SIC Program box. Then click on Click to Assemble button. After that click on Click to Run. You will get something like below as output if yout SIC program is correct :

0.png

  • Register Values gives us the value stored in the different registers.
  • Symbol Table defines the symbol used.
  • Object Program gives us the object code for the SIC-code.
  • Memory Trace shows the value occupied in different memory locations.

File Architecture

.
├── deck.pdf
├── ExecEngine.class
├── ExecEngine.java
├── logo.jpg
├── MyMenuBar.class
├── panel$1.class
├── panel$2.class
├── panel$3.class
├── panel$4.class
├── panel$5.class
├── panel$actlist.class
├── panel.class
├── panel$savelist.class
├── Readme.pdf
├── sicassem
│   ├── Assembler.class
│   ├── Assembler.java
│   ├── EndRecord.class
│   ├── EndRecord.java
│   ├── HeaderRecord.class
│   ├── HeaderRecord.java
│   ├── ObjectProg.class
│   ├── ObjectProg.java
│   ├── Optable.class
│   ├── Optable.java
│   ├── SymTab.class
│   ├── SymTab.java
│   ├── TextRecord.class
│   └── TextRecord.java
├── STRING_REVERSE.png
├── Test.class
├── Test.java
├── UI.class
└── UI.java

We can see that the sicassem folder contains the codes for the assembler while the root folder has the codes for the graphics user interface.


About

Course Project for CS312 (System Programming Lab)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%