Skip to content
forked from pdemian/Assembler

x86 Assembler to be used with the PELinker project

License

Notifications You must be signed in to change notification settings

bencz/Assembler

 
 

Repository files navigation

Assembler

A Work in progress assembler that assembled x86 code. To be used in conjunction with a work in progress compiler and linker.

Purpose

This project is part of my work in progress compiler. The compiler itself parses a pseudo-C# like language. I've separated the project into a high level parser, assembler, and linker. The other parts will be added onto github later on as they are still a major work in progress.

Technically this project serves no purpose just yet, other than maybe showcasing how to build a .exe from scratch.

The assembler has a limited instruction set for language building with a compiler rather than a full on assembler. Both GCC and Visual Studio do the exact same thing.

At the moment, the assembler uses the most general instruction available to make the code less complex. Optimizations may come at a later time.

x87 floating point operations are also not yet implemented.

Installation

clone, and run the solution to build the executable

Usage

Use with the linker project for the following

//Assemble
assembler.exe tests/testN.asm -o testN.ci
//Link
linker.exe testN.ci -o testN.exe
//And run
testN.exe

This will (read: should) produce an executable file.

See the tests directory for a number of tests.

About

x86 Assembler to be used with the PELinker project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.8%
  • Assembly 1.2%