ARM Assembler

As part of a computer organization course, this project involved building a full ARMv6 assembler and disassembler from scratch using Java. The goal was to create a portable, self-contained application capable of translating between human-readable assembly instructions and binary machine code. Java’s structure helped streamline the development process, but the real challenge came in designing an internal relational lookup system for various instruction formats.

To solve this, an embedded SQLite database was integrated directly into the application, enabling fast, dynamic retrieval of instruction definitions via JDBC. The tool supports a wide range of ARMv6 commands—including arithmetic, logical, shift, and load/store instructions—with support for register, immediate, and conditional variants. A test suite validates commands via CSV input, and the entire project can be exported as a JAR for standalone use.

Leave A Comment

Your email address will not be published. Required fields are marked *