11 Repos
Tools for translating assembly language source code into machine-executable ROMs.
Explore 11 awesome GitHub repositories matching part of an awesome list · Assemblers. Refine with filters or upvote what's useful.
This project is an educational compiler implementation and architecture demo. It serves as a small-scale C-style language compiler designed to demonstrate the fundamental stages of transforming source code into executable machine instructions. The codebase functions as a tool for compiler architecture education and design prototyping. It illustrates the process of building an educational language implementation to help users understand the mechanics of parsing and code generation. The implementation covers the primary stages of a compiler pipeline, including regular expression tokenization,
Provides direct translation from a parsed syntax tree into machine-readable assembly instructions.
This project is a compiler development tutorial that provides a series of guides and exercises for building a complete compiler from scratch. It focuses on the implementation of a structured compilation pipeline to transform high-level source code into executable machine instructions. The project covers the creation of a machine code generator for specific processor architectures and a static analysis framework. This framework includes methodologies for implementing type checking and constant folding to verify logic correctness before the final execution phase. The instructional material enc
Implements assembly generators that translate high-level constructs into machine instructions for specific processor architectures.
This project is a collection of educational resources and technical guides focused on Go performance optimization. It provides instruction on improving execution speed and reducing memory usage through code and architectural refinements. The guides cover advanced strategies for low-level programming, including the use of assembly for SIMD instructions and unsafe pointers for direct memory manipulation. It also details concurrency optimization techniques such as lock sharding and cache-line padding to reduce contention and improve hardware utilization. The material encompasses broad capabilit
Guides the implementation of critical paths using manual assembly and SIMD instructions to bypass compiler limits.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Includes utilities to convert assembly shellcode into raw machine bytes for specific architectures.
SASM ist eine plattformübergreifende integrierte Entwicklungsumgebung (IDE) zum Schreiben, Assemblieren und Debuggen von Low-Level-Assembler-Code. Sie dient als einheitlicher Editor und Ausführungsablauf für die Assembler-Sprachentwicklung über verschiedene Betriebssysteme hinweg. Die Umgebung unterstützt mehrere Assembler-Sprachen und deren jeweilige Toolchains, einschließlich NASM, MASM, GAS und FASM, innerhalb einer einzigen Schnittstelle. Sie verfügt über einen Debugger auf Binärebene, der das schrittweise Durchlaufen von Anweisungen sowie die Inspektion von CPU-Registern und Variablenzuständen ermöglicht. Das Projekt bietet eine Toolchain-basierte Build-Pipeline und ein Konfigurationssystem zur Auswahl von Assembler- und Linker-Versionen. Es enthält zudem einen Workspace-Manager mit tab-basierter Dokumentenverwaltung und Sitzungspersistenz, um geöffnete Dateien nach einem Neustart wiederherzustellen. Um ein konsistentes Verhalten über Plattformen hinweg sicherzustellen, verwendet die Software einen einheitlichen Wrapper zur Standardisierung von Tastatureingaben und Bildschirmausgaben.
Integrates toolchains for multiple assemblers including NASM, MASM, GAS, and FASM within a single interface.
Highway is a portable C++ library and hardware abstraction layer designed for writing single instruction multiple data (SIMD) code. It provides a unified interface that maps data-parallel logic to various CPU instruction sets, enabling the development of high-performance software that runs across different processor architectures without requiring architecture-specific assembly. The project features a dynamic instruction dispatcher that selects the most efficient CPU instruction set at runtime based on detected hardware. It also supports static target specialization and extensible mechanisms
Allows adding new hardware-accelerated functions by writing target-specific implementations for all supported architectures.
excelCPU ist ein tabellenkalkulationsbasierter Computer-Emulator, der eine 16-Bit-CPU simuliert. Er fungiert als pädagogisches CPU-Modell, bei dem der Systemzustand, die Register und der Arbeitsspeicher innerhalb eines Rasters von Tabellenzellen verwaltet werden. Das Projekt enthält einen Assembler-Compiler, der benutzerdefinierten Assembler-Quellcode in ein Format konvertiert, das mit Tabellenzellen für die Read-Only-Memory-Speicherung kompatibel ist. Es ermöglicht sowohl die automatische Programmausführung als auch den manuellen Betrieb, um spezifische Anweisungen zu überschreiben. Die Simulation deckt grundlegende Hardware-Architekturkonzepte ab, einschließlich Logikgatter-Prototyping, Instruction-Fetching und Speicherverwaltung. Diese Umgebung ermöglicht die Visualisierung von Interaktionen zwischen Registern und Systemspeicher durch formelgesteuerte Logik.
Provides a tool that translates custom assembly source code into a spreadsheet-compatible ROM format.
Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color
Standard assembler and linker package for Game Boy development.
Dieses Projekt ist eine webbasierte Bildungsumgebung zur Simulation von 8-Bit-Prozessorarchitektur und Assembly-Sprachausführung. Es fungiert als virtuelle Maschine, die symbolischen Assembly-Code in Maschinenbefehle übersetzt, was es Benutzern ermöglicht, den Fetch-Decode-Execute-Zyklus und dessen Auswirkungen auf den Systemzustand in Echtzeit zu beobachten. Der Simulator zeichnet sich durch ein reaktives Interface aus, das visuelle Register- und Speicheranzeigen direkt an den zugrunde liegenden Prozessorzustand bindet. Er enthält einen Zwei-Pass-Assembler, der symbolische Label-Auflösung und Speicheradress-Mapping verwaltet und eine strukturierte Möglichkeit bietet, Assembly-Programme zu organisieren und zu navigieren. Benutzer können die Taktfrequenz des virtuellen Prozessors steuern, was es ihnen ermöglicht, die Befehlsausführung für detaillierte Beobachtung und Debugging zu verlangsamen. Die Anwendung bietet eine umfassende Suite von Tools zur Überwachung interner Prozessor-Flags, Registerwerte und Speicherinhalte. Sie unterstützt flexible Datenformatierung für Speicher und Register, was es erlaubt, Werte entweder in hexadezimaler oder dezimaler Notation zu betrachten. Die Umgebung ist als browserbasierte Anwendung konzipiert, was das Studium von Low-Level-Computing-Konzepten und Embedded-System-Logik ohne externe Hardware erleichtert.
Translates assembly language source code into machine-executable operations for browser-based testing.
WLA DX - Yet Another ANSI C GB-Z80/Z80/Z80N/6502/65C02/65CE02/65816/68000/6800/6801/6809/8008/8080/HUC6280/SPC-700/SuperFX/Cx4/SH-2 Multi Platform Cross Assembler Package
Multi-platform cross-assembler package for Z80-based systems.
Powerful macro (cross) assembler package for several CPUs
Assembler engine supporting multiple CPU architectures including Game Boy.