https://github.com/mhashim6/lc3-virtual-machine
LC-3 VM Python implementation.
https://github.com/mhashim6/lc3-virtual-machine
16-bit 16bit computer-architecture lc3 lc3-vm python python3 virtual-machine
Last synced: 4 months ago
JSON representation
LC-3 VM Python implementation.
- Host: GitHub
- URL: https://github.com/mhashim6/lc3-virtual-machine
- Owner: mhashim6
- License: mit
- Created: 2019-03-11T16:34:14.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-31T12:50:05.000Z (over 3 years ago)
- Last Synced: 2025-04-12T19:40:23.317Z (7 months ago)
- Topics: 16-bit, 16bit, computer-architecture, lc3, lc3-vm, python, python3, virtual-machine
- Language: Python
- Size: 66.4 KB
- Stars: 2
- Watchers: 6
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# LC-3 Virtual Machine
Little Computer 3, or [LC-3](https://en.wikipedia.org/wiki/LC-3), is a type of computer educational programming language, an assembly language, which is a type of low-level programming language.
This is a Python implementation of the LC-3 virtual machine.
## Architecture
### Instructions
- [x] Branch
- [x] Add
- [x] Load
- [x] Store
- [x] Jump register
- [x] Bitwise AND
- [x] Load register
- [x] Store register
- [x] Bitwise NOT
- [x] Load indirect
- [x] Store indirect
- [x] Jump
- [x] Reserved
- [x] Load effective address
### I/O
- [x] Memory-mapped registers [Unix only.]
### Traps
- [x] Get character from keyboard "without echod"
- [x] Output a character
- [x] Output a word string
- [x] Input a string "With echod"
- [x] Output a byte string
- [x] Halt
## Creadits/Inspirations
- [Write Your Own Virtual Machine](https://justinmeiners.github.io/lc3-vm/index.html#)
- [dwelch67/lc3](https://github.com/dwelch67/lc3)
- [Bl41r/lc-3-virtual-machine](https://github.com/Bl41r/lc-3-virtual-machine)
- [paul-nameless/lc3-vm](https://github.com/paul-nameless/lc3-vm)
## Requirements
No dependencies, just `Python3`.
## License
This project is licensed under the MIT License.