The long-awaited third edition of this bestselling introduction to assembly language has been completely rewritten to focus on 32-bit protected-mode Linux and the free NASM assembler. Assembly is the fundamental language bridging human ideas and the pure silicon hearts of computers, and popular author Jeff Dunteman retains his distinctive lighthearted style as he presents a step-by-step approach to this difficult technical discipline.
He starts at the very beginning, explaining the basic ideas of programmable computing, the binary and hexadecimal number systems, the Intel x86 computer architecture, and the process of software development under Linux. From that foundation he systematically treats the x86 instruction set, memory addressing, procedures, macros, and interface to the C-language code libraries upon which Linux itself is built.
- Serves as an ideal introduction to x86 computing concepts, as demonstrated by the only language directly understood by the CPU itself
- Uses an approachable, conversational style that assumes no prior experience in programming of any kind
- Presents x86 architecture and assembly concepts through a cumulative tutorial approach that is ideal for self-paced instruction
- Focuses entirely on free, open-source software, including Ubuntu Linux, the NASM assembler, the Kate editor, and the Gdb/Insight debugger
- Includes an x86 instruction set reference for the most common machine instructions, specifically tailored for use by programming beginners
- Woven into the presentation are plenty of assembly code examples, plus practical tips on software design, coding, testing, and debugging, all using free, open-source software that may be downloaded without charge from the Internet.
Programming with Linux(r)
Learn assembly language, and you learn the machine
In this third edition of his bestselling guide to Intel x86 assembly language under Linux, Jeff Duntemann positions assembly not as unapproachable geek arcana but as a first programming language, suitable for readers who have no previous programming experience. As the fundamental language of the CPU, assembly lays the groundwork for all other programming languages, especially native-code C, C++, and Pascal. By mastering assembly, programmers will learn how x86 computers operate all the way down to "the bare silicon," at a level of detail that no other approach can equal.
Assembly Language Step by Step, Third Edition, helps you:
* Review the fundamental concepts behind computing and programming, including the hexadecimal and binary number bases
* Understand the evolution of the Intel CPUs and how modern x86 processors operate
* Grasp the process of programming itself, from editing source code through assembly, linking, and debugging
* Comprehend x86 32-bit protected-mode memory addressing
* Learn the x86 instruction set by dissecting numerous complete example programs
* Work with the wealth of free programming utilities under Ubuntu Linux, including the Kate editor, the NASM assembler, and the GNU toolset
* Master practical details of Linux programming, including procedures, macros, the INT 80h call gate, and calls to the standard C libraries