DEV Community

Ruud Christopher Saimplice
Ruud Christopher Saimplice

Posted on

Assembly x86-64 Linux: Discover the bare Bones !

In this journey, we will dive into the intriguing world of low-level programming, where we uncover the fundamental building blocks that power modern computer systems. As we peel back the layers, we will explore the bare bones of assembly language and witness the direct manipulation of the processor.

Introducing Assembly(ASM)

Assembly language serves as the bridge between high-level languages and machine code, allowing programmers to interact intimately with the hardware. With its concise syntax and fine-grained control over system resources, assembly programming enables optimized performance, deep system understanding, and the ability to overcome complex challenges.

In this blog series, we will focus specifically on x86-64 assembly, the dominant architecture in modern desktops, laptops, and servers. We will unravel the intricacies of the x86-64 instruction set, learn how to write efficient and concise assembly code, and gain insights into the inner workings of the processor.

The Central Processing Unit (CPU) of any computer is a microprocessor chip that conducts system functions such as accepting keyboard input and displaying output on the screen.

Only machine language instructions are understood by the CPU. These are binary sequences of ones and zeros, which are too cryptic for software development. The Assembly language solves this problem by giving symbols that express machine language instructions in an understandable fashion. As a result, assembly is also known as symbolic machine code.

Benefits of learning Assembly

Learning Assembly will teach you...

• How the CPU obtains and executes instructions.
• The manner in which data is stored in computer memory.
• The manner in which instructions access and process data.
• The manner in which programs interact with the operating system.
• Using disassembly to debug a high-level program.
• Understanding memory locations and pointers.
• How to write quick applications that use less memory.

By the end of this serie, you will have a solid foundation in x64 assembly language programming using ASMX64 and will be able to write efficient and optimized low-level code for the x64 architecture.

Follow me on Twitter and wait for the next lesson !!
https://twitter.com/web3_ruud

I’m on @buymeacoffee. If you like my work, you can buy me a and share your thoughts 🎉☕

https://www.buymeacoffee.com/officialsa4

Top comments (1)

Collapse
 
lovince profile image
Hansley LOVINCE

Very good