Memory Manager in 64bits Intel Assembly on Linux

Intel Logo

For the last version of the EDDI Compiler, it has been necessary to extend the dynamic memory allocator, to support free memory. In this post, we will see how to write a simple Memory Manager in Intel Assembly for Linux. In the past, we’ve seen how to write a basic memory allocator, this time, we [...]



Compiler Architecture refinements for eddic

EDDI Compiler General Architecture

The next version of eddic will see an improved compiler architecture. There are two new main changes in this version: A better separation between the front end and the back end A new intermediate representation to improve and ease code generation Front end and Back End First, the front and back ends have been clearly separated. [...]



EDDIC 0.9.1 – Enhanced floating point support

eddic Logo

I just released the version 0.9.1 of the EDDI Compiler (eddic). This release is a minor one, there are no huge changes to the language nor in the compiler itself. But that version was necessary before the 1.0 version. The floating point support of the language have been enhanced with casts. You can now cast [...]



Introduction to 64 Bit Intel Assembly Language Programming for Linux – Book Review

Intel Logo

The first book I read about Intel Assembly was lacking information about 64 bits programming. So I ordered and read Introduction to 64 Bit Intel Assembly Language Programming for Linux, by Ray Seyfarth. This book covers a lot of subjects in assembly. It is adapted to people starting assembly, but it also contains advanced assembly [...]



EDDIC 0.9 – Floating point support

eddic Logo

I just finished working on the 0.9 version of the EDDIC Compiler. The language does now support floating point variables. Here is an example of what can be done in EDDI now: For now, there is no interoperability between integers and floating, so you can’t add an integer to a floating point or cast a [...]



Assembly Language Step By Step, Programming with Linux – Book Review

Assembly Language Step By Step Cover

To improve my skills in Intel Assembly, I ordered and read Assembly Language Step by Step, Programming with Linux, by Jeff Duntemann. Just for the record, I read it on my Amazon Kindle. This book is really made for very beginners. The author is fan of metaphor to explain some concepts, comparing assembly to a [...]



EDDIC 0.8 : 64bit generation

eddic Logo

I just released the version 0.8. The main change of this version is the addition of a 64bit generation. If you compiles eddic in 64bit, the default output of the compiler will be 64 bit, otherwise it will be 32 bit. You can also select the output by setting command line switch (-32 and -64). [...]



Dynamic memory allocation in Intel Assembly on Linux

For the version 0.6.0 of the EDDI Compiler, I have written a simple dynamic memory allocation function in assembly. I did that to avoid using malloc in my assembly code. As this is not an easy subject, this article will explain the main parts of writing this function. As the EDDI Compiler creates program for [...]



How to print strings and integers in Intel Assembly on Linux ?

In this post, we’ll learn how to print strings and integers to the console on Linux using Intel Assembly. In this post, I’ll use the AT&T notation, because it’s the notation used in EDDI. In EDDI, I have to print strings and numbers to the console, as this is not an easy exercise, I wanted [...]



EDDI 0.4 : Native compilation and swap operator

The version 0.4 of EDDI is released. There is only one new feature, the swap operator () to swap two variables together, but the biggest news is that now EDDI is not anymore an interpreted language, but is a compiled language. In fact, I rewritten the compiler in order to output Linux assembly code. For [...]