Mastering Assembly Language
Mastering Assembly Language book cover
Click on the image to see the book

About This Book

The Assembly language is the lowest level human readable programming language on any platform. Knowing the way things are on the Assembly level will help developers design their code in a much more elegant and efficient way. It may be produced by compiling source code from a high-level programming language (such as C/C++) but can also be written from scratch. Assembly code can be converted to machine code using an assembler.

The first section of the book starts with setting up the development environment on Windows and Linux, mentioning most common toolchains. The reader is led through the basic structure of CPU and memory, and is presented the most important Assembly instructions through examples for both Windows and Linux, 32 and 64 bits. Then the reader would understand how high level languages are translated into Assembly and then compiled into object code. Finally, we will cover patching existing code, either legacy code without sources or a running code in same or remote process.

Publication date:

September 2017

Publisher

Packt

ISBN

9781787287488
Practical Assembly Programming
Practical Assembly Programming book draft cover
Click on the image to view the 1st chapter

About This Book

There is a widespread misbelief that one should by all means avoid using x86 Assembly (we will further use the term “Assembly” for simplicity) language as it is complicated, error prone, high level language compilers make better optimizations than one could make by hand and because programming in Assembly requires much more effort. While the accuracy of these statements is sometimes arguable and sometimes equals to 0, writing a book in order to simply refute them would be an inexcusable waste of time and effort, just like arguing whether chicken preceded the egg or vice versa. Instead, the intention behind this work is to show why it is important to know what lies beneath all the technology, even in this era of virtually unlimited resources and wide variety of software building instruments for every taste, and demonstrate how such knowledge can be applied in daily work.

Publication date:

This book is a work in progress. Some changes may still be made.

Support this book

Bitcoin image
1CfZbNzrTZ2FW2KEWKkgmNwx7mhAeG72je
or
Bitcoin QR code
Ethereum image
0x007d935E5AB23DF6C77BbD4CcaEE7782232Fa923

This site uses cookie files for our mutual comfort.

OK
Copyright © 2023 Alexey Lyashko