Skip to content

BafokengMasitha/Custom-Assembler-Simulator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ Custom Assembler Simulator - Educational Assembly Tool

This project introduces a custom assembler and a web-based simulator that translates user-defined assembly language into machine language. Built for educational purposes and inspired by MIPS 32 architecture, this tool offers a simplified and practical experience of how assemblers work in real systems.


🎯 Project Goal

The goal of this project is to:

  • Design a new assembly language closely resembling MIPS 32 syntax
  • Build a custom assembler that converts instructions into equivalent machine code
  • Create a web interface to simulate the assembler's operation in a user-friendly environment
  • Educate students on how real-world assemblers function, from parsing to binary translation

🧠 Background

Assembler design is an advanced topic in computer architecture and systems programming. By building our own assembler and web-based simulator, we provide learners with:

  • A practical understanding of instruction encoding
  • Insight into register management, ALU operations, and memory access
  • An intuitive way to visualize how high-level logic becomes low-level binary

🌐 Technologies Used

  • Assembler Engine: Python (for parsing, translating, and encoding)
  • Frontend: HTML, CSS, JavaScript
  • Architecture Design Inspiration: MIPS 32
  • Hosting/Simulation: Web-based interface to run simulated instructions in real-time

💡 Key Features

  • Custom syntax for defining and running assembly instructions
  • Binary translation of supported instructions into simulated machine code
  • Real-time simulation of instruction execution
  • Educational UI for demonstrating register and memory changes
  • Inspired by Linux terminal and MIPS 32 interaction patterns

🌍 Impact

This project serves as a stepping stone for:

  • Students learning computer architecture and assembly programming
  • Developers seeking to understand low-level machine code generation
  • Educational institutions needing interactive simulation tools for teaching

By building a simplified but accurate model, the project demystifies how processors interpret and execute instructions.


👥 Project Team

This project was developed by the same dedicated team behind the Letsema project. While specific roles were not assigned for this initiative, collaboration and joint effort drove the success of the tool.

Led by:

  • Tlotliso KhosiProject Leader
    Oversaw and coordinated all stages of development, ensuring both the assembler logic and the web interface were aligned with the project’s educational goals.

Contributors:

  • Tlhokomelo Mohobane
  • Bahlakoana Tau
  • Seabata Nchoba
  • Kelello Mapesela
  • Bafokeng Masitha
  • Khotso Mojakhomo

🚀 How to Use

  • Not yet complete so on actually how to use is going to be impossible until a full implementation is done.

About

Development of custom Assembler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Assembly 86.6%
  • HTML 13.4%