The Epsilon Assembler (easm) is a Win32 assembler whose main focus is Windows application development. I am developing easm as my final year degree project and I wanted to introduce the project to a wider audience and generate some interest.

The assembler is still in very early stages and currently only supports a small percentage of the overall design. In saying this however, easm is capable of creating some interesting things in its current state. My aim is to develop the project, even after it has served the educational purpose that it was created for, to be a fully functional assembler with little to no limits.

I have released a BETA version of easm on the project website ( in the hope that people will test the assembler and  report any potential bugs. Bug reporting is particularly important at this stage as I need some evidence that the application has been tested.

Bugs are reported on the project website and require a login to do so (to avoid abuse of the bug reporting system). If you require a login, just complete the short form (found in the 'Bugs' section of the site) and I'll add the login asap. Any feedback would be greatly appreciated and be a huge help.

The website also contains design documents, explanations of relevant concepts, easm source code samples and the online documentation for the easm syntax (

The easm syntax is essentially x86 assembler, but with a unique touch which aims to make it more manageable and readable, take the following Hello World example:

Although easm is intended for the Microsoft Windows platform... there has be some success in running the assembler and applications produced by the assembler under Linux systems with the aid of the Windows Emulator WINE. I have not tried this myself, but I am aware that the early examples in easm run fine when using WINE.

Thanks a lot, Martin.
Posted on 2007-04-14 03:35:18 by Martin_130286
Hey Martin, welcome on board!

It's always interesting to see another assembler. It might not end up being the most widely used one :), but it's a good learning example to code one.

Your website looks pretty cool, too bad it's implemented in flash - that design would have been impressive if it was purely html/css :)
Posted on 2007-04-14 05:45:08 by f0dder
Thanks f0dder.

Well, the site is not flash, it is HTML/CSS/JS ... it's just the easm tutorial that is using Adobe's Flex framework. I realise this can cause problems for people who cannot render flash and I'll make a text version of it soon.

Posted on 2007-04-14 06:09:05 by Martin_130286
could you demonstrate how to utilize "modular" programming with easm? I can't imagine how to do it with your forced order of sections.

For example, i want to provide some source-code library, which defines some functions, some global variables, some constants, imports few things etc.

Is it possible to do something like this nicer than having 4 separate files?
Posted on 2007-04-16 07:33:52 by vid
Thanks for the questions vid, let me start by stating that easm is still in early stages and there's many essential things that are not implemented as of yet - they most certainly will be, when time permits, but as this is a school project, I don't always have time to work on it.

could you demonstrate how to utilize "modular" programming with easm? I can't imagine how to do it with your forced order of sections.

It's no surprise you can't imagine how to do this, because I haven't implemented this either yet. Ultimately I would like to provide a method for creating a source code library by creating a single source code file, but without the primary code section. Something along the lines of an include statement would copy variable declarations, functions, constants and imports into the file it is being included in.

I'm open to suggestions on how people would prefer this to work.

Regards, Martin.
Posted on 2007-04-16 12:14:56 by Martin_130286
Can i ask you a question, what's the deal with the PE format handwritten notes  :P

I'm very interested by your project (bookmarked it) The website is good looking, the language is too, although you're not using the mnemonics directly. Have fun man :)
Posted on 2007-05-03 23:05:54 by ChaperonNoir