Fr. 86.00

X64 Assembly Language Step-By-Step - Programming With Linux

English · Hardback

Shipping usually within 1 to 3 weeks (not available at short notice)

Description

Read more

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.

List of contents

Introduction xxix
 
Chapter 1 It's All in the Plan 1
 
Another Pleasant Valley Saturday 1
 
Had This Been the Real Thing 5
 
Assembly Language Programming As a Square Dance 5
 
Assembly Language Programming As a Board Game 6
 
Chapter 2 Alien Bases 11
 
The Return of the New Math Monster 11
 
Octal: How the Grinch Stole Eight and Nine 16
 
Hexadecimal: Solving the Digit Shortage 20
 
From Hex to Decimal and from Decimal to Hex 24
 
Practice. Practice! PRACTICE! 27
 
Arithmetic in Hex 28
 
Binary 34
 
Hexadecimal as Shorthand for Binary 38
 
Prepare to Compute 40
 
Chapter 3 Lifting the Hood 41
 
RAXie, We Hardly Knew Ye 41
 
Switches, Transistors, and Memory 43
 
The Shop Supervisor and the Assembly Line 54
 
The Box That Follows a Plan 58
 
What vs. How: Architecture and Microarchitecture 63
 
Enter the Plant Manager 67
 
Chapter 4 Location, Location, Location 73
 
The Joy of Memory Models 73
 
The Nature of Segments 80
 
Segment Registers 87
 
The Four Major Assembly Programming Models 95
 
64-Bit Long Mode 101
 
Chapter 5 The Right to Assemble 103
 
The Nine and Sixty Ways to Code 103
 
Files and What's Inside Them 104
 
Text In, Code Out 115
 
The Assembly Language Development Process 123
 
Linking the Object Code File 130
 
Taking a Trip Down Assembly Lane 134
 
Chapter 6 A Place to Stand, with Access to Tools 143
 
Integrated Development Environments 143
 
Introducing SASM 146
 
Linux and Terminals 153
 
Using Linux Make 164
 
Debugging with SASM 172
 
Chapter 7 Following Your Instructions 175
 
Build Yourself a Sandbox 176
 
Instructions and Their Operands 178
 
Source and Destination Operands 178
 
Rally Round the Flags, Boys! 186
 
Signed and Unsigned Values 195
 
Implicit Operands and MUL 200
 
Reading and Using an Assembly Language Reference 205
 
NEG Negate (Two's Complement; i.e., Multiply by .1) 208
 
Chapter 8 Our Object All Sublime 213
 
The Bones of an Assembly Language Program 213
 
Last In, First Out via the Stack 223
 
Using Linux Kernel Services Through Syscall 231
 
Designing a Nontrivial Program 235
 
Going Further 248
 
Chapter 9 Bits, Flags, Branches, and Tables 251
 
Bits Is Bits (and Bytes Is Bits) 251
 
Shifting Bits 258
 
Bit-Bashing in Action 262
 
Flags, Tests, and Branches 270
 
X64 Long Mode Memory Addressing in Detail 279
 
Character Table Translation 290
 
Tables Instead of Calculations 298
 
Chapter 10 Dividing and Conquering 299
 
Boxes within Boxes 300
 
Calling and Returning 309
 
Local Labels and the Lengths of Jumps 325
 
Building External Procedure Libraries 330
 
The Art of Crafting Procedures 352
 
Simple Cursor Control in the Linux Console 356
 
Creating and Using Macros 364
 
Chapter 11 Strings and Things 377
 
The Notion of an Assembly Language String 378
 
REP STOSB, the Software Machine Gun 387
 
The Semiautomatic Weapon: STOSB Without REP 392
 
MOVSB: Fast Block Copies 397
 
Storing Data to Discontinuous Strings 402
 
Command-Line Arguments, String Searches, and the Linux Stack 408
 
The Stack, Its Structure, and How to Use It 414
 
Chapter 12 Heading Out to C 423
 
What's GNU? 424
 

About the author










JEFF DUNTEMANN is an accomplished author of both science fiction and technical nonfiction. He has published dozens of technical articles in magazines, co-founded The Coriolis Group, a large publishing house in Arizona, and works as a technical publishing consultant. He owns Copperwood Press, a POD imprint hosted on amazon.com.

Product details

Authors Jeff Duntemann, Duntemann Jeff
Publisher Wiley, John and Sons Ltd
 
Languages English
Product format Hardback
Released 23.10.2023
 
EAN 9781394155248
ISBN 978-1-394-15524-8
No. of pages 640
Series Tech Today
Subjects Natural sciences, medicine, IT, technology > IT, data processing > Programming languages

Linux, Informatik, computer science, Programmierung u. Software-Entwicklung, Programming & Software Development

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.