Skip to content

MarkKozel/LC3_Assembler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LC3 Assembler

Java-based assembler for Little Computer 3 (LC-3) Wikipedia Page

Purpose

Create a command-line assembler that can be used to generate all output files of the LC-3 Simulator 3.01 McGraw Hill Textbook Reference

This assembler will produce .obj, .lst, and .sym file to support the LC-3 Simulator virtual environment. .obj will be binary compatible to the LC-3 Simulator assembler output

File Input

  • .asm - LC-3 Assembly souce code file

File Output

  • .sym - Symbol table file
  • .bin - Binary representation of source file
  • .hex - Hex representation of source file
  • .lst - List file of source file
  • .obj - LC-3 executable object file

Overview Diagram


Dev Log

2020-11-03 - Cleanup in preparation to turn project over to Hancock's Bulldog Software Development club

2018-11-24 - Added classes to generate Listing and Executable files. Added JUnit test package and test files for some classes. Currently taking a deep-dive to get Operate Instructions working all teh way to .org file.

2018-11-12 - Completed logic to parse PseudoOps and Operate commands. Added SymbolTable and Symbol classes to extract and contain symbols. Project can produce a complete symbol table and output to disk file.

2018-11-11 - Started project. Defined classes to hold Instructions (Comments, Control, DataMovement, Operate, and PseudoOps). Created package net.markkozel.lc3 to hold classes related to LC-3 capabilities. Built main in Assembler class. Main reads in .asm file from command-line and populates list of Instruction objects

About

Java-based LC-3 Assembler

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published