Skip to content

robmorgan/go-lc3-vm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LC-3 VM

LC-3 VM by Rob Morgan

This project is a really simple LC-3 VM written in Go. LC-3 or Little Computer 3 is a fictional computer system that is designed to teach students how to code in assembly language. My VM is originally based on an article written by Justin Meiners and Ryan Pendleton.

Current Status

The VM is now able to execute the following programs:

  • 2048 by Ryan Pendleton
  • Rogue by Justin Meiners

TODO

  • Fix 100% CPU issue when running programs
  • Fix failing unit tests

Changelog

  • Fixed Trap Routines for displaying output.
  • Fixed the STI Op Code.
  • Migrated to Termbox for display and key input
  • Added a flag for verbose debug output
  • Added a flag to specify the target program
  • Added support for CPU profiling
  • Fixed an issue where GETC was not waiting for input

Development Resources

These resources came in handy when developing this VM:

LICENSE

MIT, See the LICENSE file.

About

LC-3 Virtual Machine in Go

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published