← back to the blog

LC3 Simulator Overview

Posted in misc, New LC3 Simulator

This is a brief overview of the new LC3 simulator. This LC3 Simulator is written and maintained by Michael Bartling and Jimmy Brisson. It includes the QtLC3 and pyLC3 frameworks.


Current Features

  • Simple C++ design
  • Watch Points
  • Break Points
  • Interrupt handling
  • Cross Platform (Windows, Linux, Mac)
  • Python Integration (pyLC3)
    • Automated Testing/Grading
    • unittest examples
    • All public simulator functions exposed to Python
    • Python Function callbacks on watchpoints/breakpoints
  • Qt5 GUI (Under Construction) (QtLC3)
    • Matlab style help system. Renders interactive HTML help pages
      • Interactive LC3 ISA tutorial planned
    • Python Scripting console
    • LC3 Terminal
    • Vim-style keyboard shortcuts (including marks) for traversing memory quickly
    • Responsive + reconfigurable windows


Full Source Code on Github!

Find the Source Code Here


Building the Source

$> mkdir build && cd build 
$> cmake ..
$> make  

The last line compiles a shared object which we can import directly into python 2.7

#!/usr/bin/env python2.7

import pylc3

Further Reading

Checkout this example  automated assignment test script!