Skip to content

A disassembler for the fictitious SIC/XE Computer Architecture

Notifications You must be signed in to change notification settings

heroicelixir/SIC-XE-Disassembler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Copyright 2015 Sami Badra. All Rights Reserved

Sami Badra
Genaro Orodio
Daniel Silva

CS 530, Spring 2015
Assignment #2
FILE: README

##SIC/XE background SIC/XE - or 'Simplified Instructional Computer/Extra Equipment' - is a hypothetical computer system introduced in the textbook, "System Software: An Introduction to Systems Programming", by Leland Beck.

A photocopy of 'Appendix A' from the original textbook can be found online by following the link below. It is a concise summary explaining the instruction sets and addressing modes for the SIC/XE architecture.

http://cs.iupui.edu/~xkzou/teaching/csci30000/Figures/Page495-499-Appendix-A.pdf

##Description The objective for this project is to create a program that disassembles object code into assembly code.

The program shall open a SIC XE object file, .obj and it’s accompanying symbol file, .sym, disassemble the object code, and generate an XE source file, <filename.sic>, using the disassembled code. The symbol file, .sym will contain the SYMTAB and LITTAB the assembler generated when assembling the object file. To run your program, the user shall provide the filename on the command line when starting/running the disassembler: % dasm .obj

I have provided some sample files neccessary to run the program in this repository.

##Input

  • .obj file: contains object code (i.e. machine binary/hex).
  • .sym file: contains a SYMTAB and a LITTAB:
    • SYMTAB is a symbol table which describes each symbol within program (name, address, address flag)
    • LITTAB is a literal table which describes each literal (name, length, address)

##Output

  • .sic file: contains the original assembly source code which the .obj and .sym files were generated from

##Instructions

  1. TRANSFER: copy all files to the same local directory. (Do not copy 'sample.sic' as this is supposed to be the output that is generated from the program)
  2. COMPILE: Simply type 'make' and enter to compile the program using Makefile
  3. RUN: Type 'dasm sample.obj' (or any other .obj file if you have your own.)
  4. The program will output the assembly code to a .sic file in the same directory where you ran the program.

About

A disassembler for the fictitious SIC/XE Computer Architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.6%
  • Makefile 1.4%