Small Deterministic D Embedded Assembler Register Machine

  •        75

SIDEARM is a minimal, virtual register machine that acts as an interpreter/shell for valid AVR assembly language execution in real-time by the virtual machine.



Related Projects

dexmaker - A utility for doing compile or runtime code generation targeting Android's Dalvik VM

  •    Java

A Java-language API for doing compile time or runtime code generation targeting the Dalvik VM. Unlike cglib or ASM, this library creates Dalvik .dex files instead of Java .class files.It has a small, close-to-the-metal API. This API mirrors the Dalvik bytecode specification giving you tight control over the bytecode emitted. Code is generated instruction-by-instruction; you bring your own abstract syntax tree if you need one. And since it uses Dalvik's dx tool as a backend, you get efficient register allocation and regular/wide instruction selection for free.

AsmHighlighter - x86 ASM Syntax Highlighting AddIn for Visual Studio


AsmHighlighter is an extension to Visual Studio 2008 that provides syntax highlighting for x86 ASM language. MASM and NASM syntaxes are supported.

x64asm - x86-64 assembler library

  •    C++

Simplicity: x64 asm does NOT include a register allocator, instruction scheduler, control flow graph builder, or any of the features you would expect of a full compiler. It is a low-level library for building YOUR optimizing compiler. Completeness: x64asm supports the entire ring 3 application level subset of the x86_64 instruction set, including the most recent AVX2/BMI1/BMI2/FMA extensions.

avra - Atmel AVR Assembler

  •    C

Atmel AVR Assembler for all platforms. Compatible with Atmel's own assembler. Extra macro features, auto type conversion for macros, conditional assembly, creates .coff files for debugging, special 100% identical output compared to orig. Atmel Assem

simavr - simavr is a lean, mean and hackable AVR simulator for linux & OSX

  •    C

simavr is a new AVR simulator for linux, or any platform that uses avr-gcc. It uses avr-gcc's own register definition to simplify creating new targets for supported AVR devices. The core was made to be small and compact, and hackable so allow quick prototyping of an AVR project. The AVR core is now stable for use with parts with <= 128KB flash, and with preliminary support for the bigger parts. The simulator loads ELF files directly, and there is even a way to specify simulation parameters directly in the emulated code using an .elf section. You can also load multipart HEX files. Otherwise, make is enough to just start using bin/simavr. To install the simavr command system-wide, make install RELEASE=1.

Monate - Object Oriented Assembly

  •    Assembly

Monate is an Object Oriented Programming Assembly . It's a pre-assembler that compiles x86-x64 OOP assembly codes to non-OOP codes and then compiles them by FASM/NASM assembler . You can create classes and use them in your assembly codes . Monate is easy to use and powerful .

ChrysaLisp - Parallel OS, with GUI, Terminal, OO Assembler, Class libraries, C-Script compiler, Lisp interpreter and more

  •    C++

Assembler/C-Script/Lisp 64 bit OS. MIMD, multi CPU, multi threaded, multi core, multi user. Runs on OSX or Linux for x64, PI64 Linux for Aarch64. Will move to bare metal eventually but it's useful for now to run hosted while experimenting. When time allows I will be doing a VM boot image for UniKernel type appliances and a WebAssembly target to play around within the browser.


  •    Java

A assembler plugin for Eclipse, to use different assembler-programs (e.g. NASM, TASM or MASM) as back-end compiling. It include linker and debugger controlling, too. And you get a optimiced ASM-File-Editor with this plugin.


  •    Assembly

Sharp is a software compiler. It converts C# into an assembler language so that it can be used to for system level tasks in native code.

.NETAsm, a JIT Native Code Injection Library


NetAsm provides a hook to the .NET JIT compiler and enables to inject your own native code in replacement of the default CLR JIT compilation. With this library, it is possible, at runtime, to inject x86 assembler code in CLR methods with the speed of a pure CLR method call and...

AVR Cross Development Kit

  •    C

CDK4AVR stands for Cross Development Kit for Atmels AVR RISC processor serie and should you support with a comprehensive Assembler and C development environment for even this processor familie under Linux or similar host systems.


  •    Perl

avrLab is an IDE (integrated development environment) for AVR microcontroller from ATMEL. It includes an editor with syntax highlighting. avrLab includes support for macro assembler (tavrasm and avra) as well as support for accessing the AVR via uisp.

Atom Virtual Machine

  •    Basic

Atom is a programmable, register-based virtual machine for Win32 computers. The AtomVM can be programmed using a high-level, neo-assembler language called Atom Assembler.

iv - ECMAScript Lexer / Parser / Interpreter / VM / method JIT written in C++

  •    C++

iv / lv5 / railgun is Register VM and Compiler. Their basic design is a lot of inspired Lua and JSC.

shellen - :cherry_blossom: Interactive shellcoding environment to easily craft shellcodes

  •    Python

Shellen is an interactive shellcoding environment. If you want a handy tool to write shellcodes, then shellen may be your friend. Shellen can also be used as an assembly or disassembly tool. keystone and capstone engines are used for all of shellen's operations.

asm-dom - A minimal WebAssembly virtual DOM to build C++ SPA (Single page applications)

  •    C++

asm-dom is a minimal WebAssembly virtual DOM to build C++ SPA (Single page applications). You can write an entire SPA in C++ and compile it to WebAssembly (or asmjs as fallback) using Emscripten, asm-dom will call DOM APIs for you. This will produce an app that aims to execute at native speed by taking advantage of common hardware capabilities, also, you can use your C/C++ code without any change, you haven't to create a binding layer to use it (as we have to do if we want to use a C++ lib from JS). Basically we are creating an app in C++ that call javascript if needed instead of the opposite. You can write only once in C++ and share as much code as possible with desktop/mobile apps and web site. If you want to learn more about performance, please see this. asm-dom is a low-level virtual DOM library. It is unopinionated with regards to how you should structure your application.


  •    C

side4linux is a simple IDE intended for source code programming in C, G-code and AVR/ARM Assembler with an emphasis on developing manufacturing and embedded applications. It will be developed to include simulators, PCB software, compilers etc.


  •    Java

NanoVM - a portable tiny java vm running on microcontrollers with at least 8k code space, especially Atmel AVR controllers. Robotic examples for the Asuro, the c't-Bot and the Nibo robot are included.

MCU Java source

  •    Java

Java source to C source translator, which allows to write MCU programs in Java. Now AVR are supported, others can be added. Convenient Java methods instead of manual register handling.

SAsmE - Smart Asm Editor for PIC micros

  •    C++

SAsmE is a cross-platform lightweighted Asm editor for Microchip PIC18 mcus. A translation unit that converts in a few seconds brainstruggling asm source code to human readable pseudo-code. It can save hours when analyzing asm assemblies.