-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the virtual processor Team 2 wiki! This project aims to develop a virtual processor capable of interpreting and running our custom assembly language. The project is a blend of software engineering and computer architecture, bridging the gap between high-level programming and low-level machine operations.
The primary goal is to create a virtual processor and an accompanying interpreter. This system will enable the execution of a custom assembly language(we chose "AT2" as a name), designed specifically for this processor. The project focuses on understanding and implementing core concepts of computer architecture and assembly language processing in a virtual environment.
- Programming language: The project is to be developed in plain, portable C, using only the C standard libraries.
-
Recommended tools:
- Compiler: gcc (GNU Compiler Collection)
- Integrated development environment (IDE): Visual Studio Code
- CMake
- Minimal assembly language: Invent a minimal assembly language for the processor.
-
Instruction set:
- Storing an immediate value in a register.
- Copying values between registers.
- Memory read and write operations using registers.
- Register content comparison.
- Unconditional and conditional jumps to labels.
- Subroutine call and return operations.
- Basic arithmetic operations: addition, subtraction, multiplication, division.
- Basic logical operations: OR, AND, XOR, NOT.
- C program: Develop a C program to read and execute programs written in the custom assembly language.
- Error checking: Ensure the program checks for both semantic validity and syntactical errors in the assembly code.
- Virtual system call: Implement a virtual system call for displaying text in a virtual terminal accessible from the assembly code.
- Debugging features: Include functionalities to display register contents and integrate a built-in debugger.
- Functional specification: Detailed description of the assembly language.
- Technical specification: Description of how the C program operates and interprets the assembly code.
- Write small assembly programs, akin to unit tests, to validate the functionality and reliability of the virtual processor and its interpreter.
This Wiki serves as a comprehensive guide to understanding, developing, and contributing to the Virtual Processor Project. Explore the following pages for detailed information on the AT2, interpreter functionalities, development guidelines, and more.