Description: FREE SHIPPING UK WIDE x64 Assembly Language Step-by-Step by Jeff Duntemann 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 thats 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. Youll also find: A set of free and open-source development and debugging tools you can download and put to use immediatelyNumerous examples woven throughout the book to illustrate the practical implementation of the ideas discussed withinPractical tips on software design, coding, testing, and debuggingA 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 thats ideal for self-paced instruction. FORMAT Hardcover LANGUAGE English CONDITION Brand New Author Biography 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. Table of Contents Introduction xxix Chapter 1 Its 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 Whats 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 (Twos 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 Whats 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 Insights 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 Insights Memory View 498 Examining the Stack with Insights Memory View 498 Learn gdb! 500 Appendix B Partial x64 Instruction Reference 501 Whats 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 (Twos Complement; i.e., Multiply by −1) 544 NOP: No Operation 546 NOT: Logical NOT (Ones 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 Details ISBN1394155247 Edition 4th ISBN-13 9781394155248 Format Hardcover Subtitle Programming with Linux Country of Publication United States NZ Release Date 2024-01-11 Language English ISBN-10 1394155247 UK Release Date 2024-03-03 Publisher John Wiley & Sons Inc Imprint John Wiley & Sons Inc Place of Publication New York Replaces 9780470497029 Audience Professional & Vocational Year 2023 Edition Description 4th edition Author Jeff Duntemann Pages 640 Series Tech Today DEWEY 005.265 Publication Date 2023-10-23 US Release Date 2023-10-23 AU Release Date 2023-11-12 We've got this At The Nile, if you're looking for it, we've got it. With fast shipping, low prices, friendly service and well over a million items - you're bound to find what you want, at a price you'll love! 30 DAY RETURN POLICY No questions asked, 30 day returns! FREE DELIVERY No matter where you are in the UK, delivery is free. SECURE PAYMENT Peace of mind by paying through PayPal and eBay Buyer Protection TheNile_Item_ID:151292889;
Price: 70.8 GBP
Location: London
End Time: 2024-11-28T03:01:11.000Z
Shipping Cost: 11.63 GBP
Product Images
Item Specifics
Return postage will be paid by: Buyer
Returns Accepted: Returns Accepted
After receiving the item, your buyer should cancel the purchase within: 30 days
Return policy details:
Format: Hardcover
Language: English
ISBN-13: 9781394155248
Author: Jeff Duntemann
Type: NA
Book Title: x64 Assembly Language Step-by-Step
Publication Name: NA