Sogang Univ. System Programming (CSE4100) - SIC/XE Machine Project
C Assembly Makefile
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
asm
doc
obj
20141500.c
Makefile
README.md
assemble.c
assemble.h
command.c
command.h
command_def.h
debug.c
debug.h
history.c
history.h
list.c
list.h
loader.c
loader.h
memory.c
memory.h
opcode.c
opcode.h
opcode.txt
run.c
run.h
symbol.c
symbol.h

README.md

System-Programming-SICXE-Project

Sogang Univ. System Programming (CSE4100) - SIC/XE Machine Project

Project 1 - Shell Prompt & Opcode Table & Memory Manager

  • Shell Prompt
    • Command History Management
    • Command 'dir' (similar to Unix's 'ls')
  • SIC/XE Instruction Opcode Table
  • SIC/XE Memory Manager (edit, fill, dump)
  • Generic Linked List

Project 2 - Assembler

  • Assemble SIC/XE assembly code (.asm).
  • As a result, generate listing file (.lst) and object file (.obj).
  • Not all assembly features are supported.

Project 3 - Linking Loader & Runner & Debugger

  • Linking Loader
    • Link several object files and load the program into specific memory address.
  • Runner
    • Emulate SIC/XE machine.
    • Run SIC/XE program loaded in memory.
    • Not all instructions are implemented.
  • Debugger
    • Break point

Limitation

This project is just for an assignment of System Programming (CSE4100) course.
I didn't spend much time. So, exception handling is lacking. And some codes and design are inefficient and bad.