Skip to content

About

An AI-based program that annotates compiler generated assembly file for better understanding of the compiled code.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASM Annotator

A Specialized Tool for Assembly Language Documentation & Analysis

The ASM Annotator is a utility designed to bridge the gap between low-level machine instructions and human-readable documentation. Built with a focus on performance and precision, this tool automates the process of annotating x86/ARM assembly code, making it easier for developers to audit, debug, and optimize low-level systems.


Technical Overview

This project demonstrates a deep understanding of computer architecture and the compilation pipeline. It processes raw assembly files to generate structured, annotated outputs that highlight instruction sets, register usage, and memory addressing.

Key Capabilities:

  • Syntax Parsing: Robust parsing of assembly files to identify mnemonics, operands, and labels.
  • Automated Documentation: Generates inline annotations to explain complex instruction sequences.
  • Architecture Support: Designed with modularity in mind to support various Instruction Set Architectures (ISAs).

Tech Stack

  • C++: Leveraged for high-performance string processing and memory management.
  • Assembly (ASM): The core focus of the tool, handling x86/ARM instruction patterns.
  • Makefile: Custom build system for seamless compilation and environment setup.

Project Structure

  • /src: Core C++ logic for the annotation engine and parser.
  • /include: Header files defining the architecture for instruction mapping.
  • /examples: Sample ASM files demonstrating "before and after" annotation results.
  • /docs: Detailed technical specifications on the parsing logic.

Why This Project?

This tool was developed to solve the "readability crisis" in low-level programming. By automating the annotation process, I’ve reduced the time required for manual code audits by providing a clear, structured view of how data flows through registers and memory.

This project showcases my ability to:

  1. Work directly with Low-Level Languages.
  2. Design efficient Parsing Algorithms in C++.
  3. Manage Memory and Performance in a resource-constrained environment.

Future Enhancements

  • Interactive CLI: A real-time terminal interface for "live" annotation.
  • IDE Plugin: Extending the logic to support VS Code or Vim as a language server.
  • Static Analysis: Adding logic to flag potential security vulnerabilities (e.g., buffer overflows) at the ASM level.

About

An AI-based program that annotates compiler generated assembly file for better understanding of the compiled code.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages