SharpAssembler assembles machine instructions (e.g. x86-64) represented as managed .NET objects. It provides an intuitive object model that can be manipulated and emitted to various object file formats (e.g. bin, elf) from C# and other .NET languages.

The project's summary, source code and support pages can be found here:
https://sourceforge.net/projects/sharpassembler/

You can download this project's files here:
https://sourceforge.net/projects/sharpassembler/files/

Namespaces

NamespaceDescription
SharpAssembler.BinFormat
The BIN object file format resides in this namespace.
SharpAssembler.Core
This namespace contains all the basic building blocks used to support modules with extra functionality for assembling object files.
SharpAssembler.Core.Instructions
The basic instructions supported in any architecture.
SharpAssembler.Core.Symbols
Symbols and relocations used by the assembler.
SharpAssembler.x86
Everything to support the x86-64 architecture is in this namespace.
SharpAssembler.x86.Instructions
All the general purpose and system instructions are in this namespace.
SharpAssembler.x86.Instructions.x87
All x87 instructions are in this namespace.
SharpAssembler.x86.Operands
Operands for the x86-64 instructions can be found here.