Buy x64 Assembly Language Step-by-Step at Bookstore UAE
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer programming / software engineering > x64 Assembly Language Step-by-Step: Programming with Linux(Tech Today)
x64 Assembly Language Step-by-Step: Programming with Linux(Tech Today)

x64 Assembly Language Step-by-Step: Programming with Linux(Tech Today)


     0     
5
4
3
2
1



Available


X
About the Book

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. Please note, the author's listings that accompany this book are available from the author website at www.contrapositivediary.com under his heading "My Assembly Language Books."



Table 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

Linking to the Standard C Library 429

Formatted Text Output with printf() 438

Data In with fgets() and scanf() 442

Be a Linux Time Lord 448

Understanding AT&T Instruction Mnemonics 456

Generating Random Numbers 460

How C Sees Command-Line Arguments 472

Simple File I/O 474

Conclusion: Not the End, But Only the Beginning 489

Appendix A The Return of the Insight Debugger 493

Insight’s Shortcomings 494

Opening a Program Under Insight 495

Setting Command-Line Arguments with Insight 496

Running and Stepping a Program 496

The Memory Window 497

Showing the Stack in Insight’s Memory View 498

Examining the Stack with Insight’s Memory View 498

Learn gdb! 500

Appendix B Partial x64 Instruction Reference 501

What’s Been Removed from x64 502

Flag Results 502

Size Specifiers 503

Instruction Index 505

ADC: Arithmetic Addition with Carry 507

ADD: Arithmetic Addition 509

AND: Logical AND 511

BT: Bit Test 513

CALL: Call Procedure 515

CLC: Clear Carry Flag (CF) 517

CLD: Clear Direction Flag (DF) 518

CMP: Arithmetic Comparison 519

DEC: Decrement Operand 521

DIV: Unsigned Integer Division 522

INC: Increment Operand 524

J??: Jump If Condition Is Met 525

JECXZ: Jump if ECX=0 527

JRCXZ: Jump If RCX=0 528

JMP: Unconditional Jump 529

LEA: Load Effective Address 531

LOOP: Loop Until CX/ECX/RCX=0 532

LOOPNZ/LOOPNE: Loop Until CX/ECX/RCX=0 and ZF=0 534

LOOPZ/LOOPE: Loop Until CX/ECX/RCX=0 and ZF=1 535

MOV: Copy Right Operand into Left Operand 536

MOVS: Move String 538

MOVSX: Copy with Sign Extension 540

MUL: Unsigned Integer Multiplication 542

NEG: Negate (Two’s Complement; i.e., Multiply by −1) 544

NOP: No Operation 546

NOT: Logical NOT (One’s Complement) 547

OR: Logical OR 548

POP: Copy Top of Stack into Operand 550

POPF/D/Q: Copy Top of Stack into Flags Register 552

PUSH: Push Operand onto Top of Stack 553

PUSHF/D/Q: Push Flags Onto the Stack 555

RET: Return from Procedure 556

ROL/ROR: Rotate Left/Rotate Right 558

SBB: Arithmetic Subtraction with Borrow 560

SHL/SHR: Shift Left/Shift Right 562

STC: Set Carry Flag (CF) 564

STD: Set Direction Flag (DF) 565

STOS/B/W/D/Q: Store String 566

SUB: Arithmetic Subtraction 568

SYSCALL: Fast System Call into Linux 570

XCHG: Exchange Operands 571

XLAT: Translate Byte Via Table 572

XOR: Exclusive OR 573

Appendix C Character Set Charts 575

Index 579



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.


Best Sellers


Product Details
  • ISBN-13: 9781394155248
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Height: 236 mm
  • No of Pages: 640
  • Returnable: Y
  • Series Title: Tech Today
  • Sub Title: Programming with Linux
  • Width: 188 mm
  • ISBN-10: 1394155247
  • Publisher Date: 23 Oct 2023
  • Binding: Hardback
  • Language: English
  • Returnable: N
  • Returnable: N
  • Spine Width: 38 mm
  • Weight: 1364 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
x64 Assembly Language Step-by-Step: Programming with Linux(Tech Today)
John Wiley & Sons Inc -
x64 Assembly Language Step-by-Step: Programming with Linux(Tech Today)
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

x64 Assembly Language Step-by-Step: Programming with Linux(Tech Today)

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!