Book description
The long-awaited x64 edition of the bestselling introduction to Intel assembly language
In the newly revised fourth edition of x64 Assembly Language Step-by-Step: Programming with Linux, author Jeff Duntemann delivers an extensively rewritten introduction to assembly language with a strong focus on 64-bit long-mode Linux assembler. The book offers a lighthearted, robust, and accessible approach to a challenging technical discipline, giving you a step-by-step path to learning assembly code that’s engaging and easy to read.
x64 Assembly Language Step-by-Step makes quick work of programmable computing basics, the concepts of binary and hexadecimal number systems, the Intel x86/x64 computer architecture, and the process of Linux software development to dive deep into the x64 instruction set, memory addressing, procedures, macros, and interface to the C-language code libraries on which Linux is built.
You’ll also find:
- A set of free and open-source development and debugging tools you can download and put to use immediately
- Numerous examples woven throughout the book to illustrate the practical implementation of the ideas discussed within
- Practical tips on software design, coding, testing, and debugging
A one-stop resource for aspiring and practicing Intel assembly programmers, the latest edition of this celebrated text provides readers with an authoritative tutorial approach to x64 technology that’s ideal for self-paced instruction.
Table of contents
- Cover
- Table of Contents
- Title Page
- Introduction
- CHAPTER 1: It's All in the Plan
- CHAPTER 2: Alien Bases
- CHAPTER 3: Lifting the Hood
- CHAPTER 4: Location, Location, Location
- CHAPTER 5: The Right to Assemble
- CHAPTER 6: A Place to Stand, with Access to Tools
- CHAPTER 7: Following Your Instructions
- CHAPTER 8: Our Object All Sublime
- CHAPTER 9: Bits, Flags, Branches, and Tables
- CHAPTER 10: Dividing and Conquering
- CHAPTER 11: Strings and Things
- CHAPTER 12: Heading Out to C
- Conclusion: Not the End, But Only the Beginning
- APPENDIX A: The Return of the Insight Debugger
-
APPENDIX B: Partial x64 Instruction Reference
- What's Been Removed from x64
- Flag Results
- Size Specifiers
- Instruction Index
- ADC: Arithmetic Addition with Carry
- ADD: Arithmetic Addition
- AND: Logical AND
- BT: Bit Test
- CALL: Call Procedure
- CLC: Clear Carry Flag (CF)
- CLD: Clear Direction Flag (DF)
- CMP: Arithmetic Comparison
- DEC: Decrement Operand
- DIV: Unsigned Integer Division
- INC: Increment Operand
- J??: Jump If Condition Is Met
- JECXZ: Jump if ECX=0
- JRCXZ: Jump If RCX=0
- JMP: Unconditional Jump
- LEA: Load Effective Address
- LOOP: Loop Until CX/ECX/RCX=0
- LOOPNZ/LOOPNE: Loop Until CX/ECX/RCX=0 and ZF=0
- LOOPZ/LOOPE: Loop Until CX/ECX/RCX=0 and ZF=1
- MOV: Copy Right Operand into Left Operand
- MOVS: Move String
- MOVSX: Copy with Sign Extension
- MUL: Unsigned Integer Multiplication
- NEG: Negate (Two's Complement; i.e., Multiply by −1)
- NOP: No Operation
- NOT: Logical NOT (One's Complement)
- OR: Logical OR
- POP: Copy Top of Stack into Operand
- POPF/D/Q: Copy Top of Stack into Flags Register
- PUSH: Push Operand onto Top of Stack
- PUSHF/D/Q: Push Flags Onto the Stack
- RET: Return from Procedure
- ROL/ROR: Rotate Left/Rotate Right
- SBB: Arithmetic Subtraction with Borrow
- SHL/SHR: Shift Left/Shift Right
- STC: Set Carry Flag (CF)
- STD: Set Direction Flag (DF)
- STOS/B/W/D/Q: Store String
- SUB: Arithmetic Subtraction
- SYSCALL: Fast System Call into Linux
- XCHG: Exchange Operands
- XLAT: Translate Byte Via Table
- XOR: Exclusive OR
- APPENDIX C: Character Set Charts
- Index
- Copyright
- Dedication
- About the Author
- Acknowledgments
- End User License Agreement
Product information
- Title: x64 Assembly Language Step-by-Step, 4th Edition
- Author(s):
- Release date: October 2023
- Publisher(s): Wiley
- ISBN: 9781394155248
You might also like
book
Assembly Language Step-by-Step: Programming with Linux®, Third Edition
The eagerly anticipated new edition of the bestselling introduction to x86 assembly language The long-awaited third …
book
Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and AVX-512
This book is an instructional text that will teach you how to code x86-64 assembly language …
book
Learn C Programming - Second Edition
Get started with writing simple programs in C while learning core programming concepts Key Features Learn …
book
Windows Internals, Part 2, 7th Edition
The definitive guide to modern Windows internals: new coverage of virtualization, file systems, boot, security, and …