https://github.com/algosup/2023-2024-project-3-virtual-processor-team-3
2023-2024, 3rd project, aims to create our own processor and Assembly language.
https://github.com/algosup/2023-2024-project-3-virtual-processor-team-3
assembler assembly c vcpu
Last synced: 11 months ago
JSON representation
2023-2024, 3rd project, aims to create our own processor and Assembly language.
- Host: GitHub
- URL: https://github.com/algosup/2023-2024-project-3-virtual-processor-team-3
- Owner: algosup
- License: mit
- Created: 2024-01-08T14:29:19.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-17T15:03:22.000Z (about 2 years ago)
- Last Synced: 2025-03-28T05:41:29.585Z (about 1 year ago)
- Topics: assembler, assembly, c, vcpu
- Language: C
- Homepage:
- Size: 23.1 MB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ALGOSUP - 2023-2024 - Project 3 - Virtual Processor - Team 3
## Team Members
| **Photo** | **Name** | **Role** | **GitHub/LinkedIn** |
|---|---|---|---|
|
| MARLIER Thibaud | Project Manager | [GitHub](https://github.com/Biohazardyee) \| [LinkedIn](https://www.linkedin.com/in/thibaud-marlier/) |
|
| CLEMENT Quentin | Program Manager | [GitHub](https://github.com/Quentin-Clement) \| [LinkedIn](https://www.linkedin.com/in/quentin-clément-939110221/) |
|
| FERNANDEZ Aurélien | Technical Leader | [GitHub](https://github.com/aurelienfernandez) \| [LinkedIn](https://www.linkedin.com/in/aurélien-fernandez-4971201b8/) |
|
| ARCHIMBAUD Malo| Software Engineer | [GitHub](https://github.com/Malo-Archimbaud) \| [LinkedIn](https://www.linkedin.com/in/malo-archimbaud-58aa12232/) |
|
| KAKAL Mathis | Software Engineer | [GitHub](https://github.com/mathiskakal) \| [LinkedIn](https://www.linkedin.com/in/mathis-k-a239ba10a/) |
|
| LEMOINE Arthur | Quality Assurance | [GitHub](https://github.com/arthur-lemo1ne) \| [LinkedIn](https://www.linkedin.com/in/arthur-lemoine-4b9782221/) |
## Overview
This project is an ALGOSUP project, driven by the students. This project aims to create a Virtual Processor along with an Assembly language to run instructions on it. Moreover, we have to develop a built-in debugger. All of that, using plain and portable C language (only standard libraries are allowed).
## What Is ALGORISK
ALGORISK is our processor, it stands for ALGOSUP RISK, the risk refers to RISC V from which we got inspired to create our processor.
## What Is ALGORASM
ALGORASM is our assembly language, it stands for ALGORISK assembly. The files written in ALGORASM are either text files or .gras files, which means gorisk assembly.
Processing a text file written in ALGORASM or a .gras file will create a new file named as the previous one but with the .grml extension.
## How To Install
Firstly, you'll need to install GCC (if not done yet): [Download GCC now](https://gcc.gnu.org) ! \
Follow the instructions to download gcc on the website.
- Then, check out our latest release: [Latest release here](https://github.com/algosup/2023-2024-project-3-virtual-processor-team-3/tags)
- Download the source code. You'll find everything you need, documentation, code, etc... Feel free to familiarize yourself with the files.
- And voila! You're all set for a fresh start with ALGORASM and ALGORISK.
## Visual Studio Code Extension
By following the link down below, you'll get redirected to the necessary Visual Studio Code Extension for ALGORISK, this is a set of tools for you, from snippets to syntax highlighting. \
You'll find everything you need to code with our Assembly. \
[Link to the extension](https://marketplace.visualstudio.com/items?itemName=ALGORISKTEAM.algorisk-language-support)
## How To Use
To **code in ALGORASM** feel free to check the documentation here: [Instruction Set Manual](https://github.com/algosup/2023-2024-project-3-virtual-processor-team-3/blob/main/documents/Assembly_documentation/ALGORISK_documentation.pdf)
To **use our virtual processor** you can choose between 3 different commands:
```
./main.exe gorasm [your file name].txt
```
Your file should contain ALGORISK assembly, else it may return an error.
This command will assemble the ALGORISK assembly into a .grml file, containing the binary of your program.
```
./main.exe goproc [your file name].grml
```
This command will execute the binary of a .grml file.
```
./main.exe gorisk [your file name].txt
```
This command executes the two previous commands into one.
## License
This project is under the [MIT License](https://github.com/algosup/2023-2024-project-3-virtual-processor-team-3/blob/main/LICENSE)
Copyright (c) 2024 ALGOSUP
