The Vole Machine Simulator is a software application that simulates the operation of a simplified computer model known as the Vole Machine. This educational tool is designed to help users learn and understand fundamental concepts of computer architecture and machine-level programming. The project is implemented using C++ with a Qt-based GUI for an intuitive and interactive user experience.
The Vole Machine is a conceptual computing system used to teach basic principles of computer science. It includes core components such as the CPU, memory, and registers, and allows for the execution of machine-level instructions. The simulator enables users to observe how these components interact during program execution, providing a hands-on approach to understanding processes like instruction fetching, decoding, and execution.
- Memory Initialization: By default, memory starts with
0A
(hexadecimal) at all addresses. - Program Counter View: The Program Counter can switch between hexadecimal and integer views for easy examination of its value.
- Help Button: Provides the full instruction set and explains the color coding used in the application for memory and registers.
- Instructions/sec Section:
- Controlled by Play/Stop buttons.
- Adjustable value for the number of instructions per second to control execution speed.
- Screen Modes:
- Switch between ASCII and Hexadecimal modes to preview screen output.
To download the latest release of the Vole Machine Simulator, visit the Release page on GitHub and download the release.zip
file. Unzip the file and run Vole-Machine.exe.
You can test the application using this instruction set: 2000 2130 2201 23C6 2420 3100 3400 5112 3101 5113 B124 1101 B014 C000 This set will print the numbers from 0 to 9 on the screen.
- Adham Hamdy
- Youssef Bahaa
- Ahmed Attia