algosup / 2023-2024-project-3-virtual-processor-team-2

Third project of 2023-2024 year which aims creating our own assembly language, with an interpreter to be able to read and run our programs. πŸ“Ž

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[2024] - IAT2️⃣

Assembly Team 2

πŸ«‚ Who are we ?

Picture Name Role GitHub LinkedIn
Mathias GAGNEPAIN Project Manager GitHub Logo LinkedIn
Guillaume DESPAUX Program Manager GitHub Logo LinkedIn
Guillaume DERAMCHI Technical Leader GitHub Logo LinkedIn
Maxime CARON Software Engineer GitHub Logo LinkedIn
Paul NOWAK Software Engineer GitHub Logo LinkedIn
Enzo GUILLOUCHE Quality Assurance GitHub Logo LinkedIn

Read the list of contributors to see who helped with the project!


πŸ“š What is this project ?

This project (IAT2) involves the creation of a new assembly language for enhanced understanding and usability, we introduce the AT2, accompanied by its dedicated assembler (2AT2) and virtual Processor (VAT2).

πŸ•΅οΈβ€β™‚οΈ What is AT2 ?

AT2 stands for Assembly Team 2, representing our proprietary assembly language. You can also refer to the documentation.

βš™οΈ What is 2AT2 ?

2AT2 stands for Assembler for Assembly Team 2, serving as the exclusive assembler capable of reading and converting .aop files written in our AT2 language into machine code (Binary).

πŸ’» What is VAT2 ?

VAT2 stands for Virtual Processor for Assembly Team 2, serving as a virtual processor able to execute our binary generated by 2AT2.

πŸ“¦ What is IAT2 ?

IAT2 stands for Integral Assembler Team 2, it's the name of the whole project (2AT2 + VAT2).

πŸ’Ύ Why did we choose .aop as extension ?

We selected the .aop extension to signify Aop Original Program, embodying an infinite recursive loop inspired by ZWEI's name.

πŸ”Ž How does it work ?

To assemble your code in .aop, here is some commands related to 2AT2 usage.

  1. Compile you AT2's code: 2at2 <path/file.aop>
  2. Display the commands list: 2at2 -help or 2at2 -h
  3. Compile + run your AT2's code with VAT2: iat2 <path/file.aop>

You can also refer to the entire user manual and AT2 documentation.

πŸ”— Requires

To use IAT2 you need:

  • A computer (Windows Recommended)
  • GCC installed, you can install it here

πŸ’½ Installation

Step By Step:

  1. Clone the repository: git clone https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2.git
  2. Go at the project root
  3. Build the project
    • How to use with mingw: (Windows)
      1. Execute cmake -S . -B Build -G "MinGW Makefiles"
      2. Execute cd Build
      3. Execute mingw32-make
    • How to use with msys2: (Windows)
      1. Execute cmake -S . -B Build -G "MSYS Makefiles"
      2. Execute cd Build
      3. Execute make

It will generate a bin folder containing our runners to use it refers to How does it work

You can also refer to user manual.

πŸ› οΈ Made with

  • C99 - C programming Language.
  • C++ - C++ Language used for unit tests.
  • Visual Studio Code - IDE (Integrated Developement Environement).
  • CMake - Software Build System for C & C++ code.
  • GoogleTest - Google's internal systems for continuous integration.
  • GCC - Used to compile C language.
  • G++ - Used to compile C++ language

🀝 Contributing

If you want to contribute please take a look to CONTRIBUTING.md.

πŸ—ƒοΈ Versions

βš–οΈ License

This project is under license MIT - see the LICENSE file for more information.

ALGOSUP Logo

About

Third project of 2023-2024 year which aims creating our own assembly language, with an interpreter to be able to read and run our programs. πŸ“Ž

License:MIT License


Languages

Language:C 83.5%Language:C++ 15.0%Language:CMake 1.5%