Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Simple virtual machine of a "one instruction set" cpu.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
Simple virtual machine of a "one instruction set" cpu written in C#. Based on the single instruction SUBLEQ (Subtract and branch if less than or equal to 0). The virtual machine loads a program into memory and executes it. Includes a memory mapped console output device for displaying results. Project includes an assembler for building binary files from assembly source. Assembler has support for comment lines, source and binary mode addressing, labeled addressing, labeled memory and auto branching to next instruction. === All code in this project is covered under the terms of the GNU General Public License a copy of which is available in the same directory under the file name LICENSE === This program is Copyright 2010 Simon P Stevens == TODO: Input device: Somehow have keyboard input written to memory locations. Interupts: Hardware - User registerable interrupts to run specific code on hardware events (such as keyboard events?) Also, registerable by hardware (E.g. Console device could use a memory address to trigger a display update. This could be an interruppted address) Software - Triggered by changes to specific memory addresses. User can register code to be run when address is set to a flag value. Disk device: A mapped memory location that can be written to to send commands to a disk controller. Then have the disk controller load the requested memory from disk into main memory. The disk controller could either be for emulated binary disks, or for host disk access.