The documentation and source are generated from the .lit file using srcweave. If you don't want to go through the trouble of setting it up, your contributions are welcome. Just make your edits the .lit file, and we can regenerate it for you. Our VM will simulate a fictional computer called the LC-3. The LC-3 is popular for teaching university students how to program in assembly language. It has a simplified instruction set compared to x86, but contains all the main ideas used in modern CPUs. First, we need to simulate the essential hardware components of the machine. Try to understand what each component is, but don’t worry right now if you are unsure of how it fits into the larger picture. Start by creating a C file. A register is a slot for storing a single value on the CPU. Registers are like the “workbench” of the CPU. For the CPU to work with a piece of data, it has to be in one of the registers.

Features

  • This is a tutorial and source code for creating a VM of the LC3 computer
  • The documentation and source are generated from the .lit
  • This tutorial is a literate program
  • Each piece of code from the VM project will be shown and explained thoroughly
  • The LC-3 has 65,536 memory locations
  • The LC-3 has 10 total registers

Project Samples

Project Activity

See All Activity >

Categories

Emulators

License

MIT License

Follow LC-3 VM

LC-3 VM Web Site

Other Useful Business Software
Ship Agents Faster Icon
Ship Agents Faster

Transform your applications and workflows into powerful agentic systems at global scale.

Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
Get Started Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of LC-3 VM!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Registered

2022-10-19