Think In Geek

In geek we trust

Exploring AArch64 assembler – Chapter 4

In this chapter we will see some instructions that will allow us to compute things.

Continue reading “Exploring AArch64 assembler – Chapter 4” »

Exploring AArch64 assembler – Chapter 3

In the last chapter we saw that instructions may have register operands and immediate operands. We also mentioned that mixing 32-bit and 64-bit register was not allowed. Today we will talk a bit more about register operands.

Continue reading “Exploring AArch64 assembler – Chapter 3” »

Exploring AArch64 assembler – Chapter 2

In the first installment of this series we did a very first simple program. In this chapter we will continue learning a bit more about AArch64.

Continue reading “Exploring AArch64 assembler – Chapter 2” »

How (not) to write a C++ front end – Part 2

In the previous installment I gave some context about the existence of Mercurium as a tool. In this chapter we will start digging into the parsing technology used.

Continue reading “How (not) to write a C++ front end – Part 2” »

How (not) to write a C++ front end – Part 1

As part of the work I did in my previous employer, we had to develop a C++ front end. This is never an easy task so I will use this series to share some experiences while developing it.

Continue reading “How (not) to write a C++ front end – Part 1” »

Exploring AArch64 assembler – Chapter 1

AArch64 is a new 64 bit mode that is part of the ARMv8 architecture presented in 2011 by ARM. It has been progressively been deployed in smartphones and servers. So I think it is a good moment to learn a bit more about the assembler of this architecture.

Continue reading “Exploring AArch64 assembler – Chapter 1” »

A tiny GCC front end – Part 11

Our tiny language features a few types: int, float, bool, string and arrays of those types. We can even declare new type names based on other types but it still missing a record type. Today we will address this.

Continue reading “A tiny GCC front end – Part 11” »

A tiny GCC front end – Part 10

Today we will add a relatively simple feature that will be very useful for a future extension: type declarations.

Continue reading “A tiny GCC front end – Part 10” »

A tiny GCC front end – Part 9

Today we will do something relatively easy: let’s add a way to declare boolean variables and express boolean literals.

Continue reading “A tiny GCC front end – Part 9” »

A tiny GCC front end – Part 8

Now that we have the basic language set implemented we can consider adding new features to it. Today we will add arrays.

Continue reading “A tiny GCC front end – Part 8” »

Previous Posts Next posts