x64 Assembly Language Step-by-Step: Programming with Linux. 4 Ed

Оглавление⌄
Title PageCopyright PageAbout the AuthorAcknowledgmentsContents at a GlanceContentsIntroductionChapter 1: It’s All in the Plan: Understanding What Computers Really DoAnother Pleasant Valley SaturdaySteps and TestsMore Than Two Ways?Computers Think Like UsHad This Been the Real Thing...Assembly Language Programming As a Square DanceAssembly Language Programming As a Board GameCode and DataAddressesMetaphor Check!Chapter 2: Alien Bases: Getting Your Arms Around Binary and HexadecimalThe Return of the New Math MonsterCounting in MartianDissecting a Martian NumberThe Essence of a Number BaseOctal: How the Grinch Stole Eight and NineWho Stole Eight and Nine?Hexadecimal: Solving the Digit ShortageFrom Hex to Decimal and from Decimal to HexPractice. Practice! PRACTICE!Arithmetic in HexBinaryWhy Binary?Hexadecimal as Shorthand for BinaryPrepare to ComputeChapter 3: Lifting the Hood: Discovering What Computers Actually AreRAXie, We Hardly Knew YeSwitches, Transistors, and MemoryRandom AccessThe Shop Supervisor and the Assembly LineFetch and ExecuteWhat vs. How: Architecture and MicroarchitectureOperating Systems: The Corner OfficeMultitasking MagicThe PlanChapter 4: Location, Location, Location: Registers, Memory Addressing, and Knowing Where Things AreThe Joy of Memory ModelsBackward Compatibility and Virtual 86 ModeSegment Registers and x64General-Purpose RegistersThe Instruction PointerThe Flags RegisterMath Coprocessors and Their RegistersThe Four Major Assembly Programming ModelsChapter 5: The Right to Assemble: The Process of Creating Assembly Language ProgramsFiles and What’s Inside ThemBinary vs. Text FilesEndiannessAssembly LanguageCommentsObject Code, Linkers, and LibrariesThe Assembly Language Development ProcessDebuggers and DebuggingInstalling the SoftwareStep-by-Step Compilation ProcessChapter 6: A Place to Stand, with Access to Tools: Linux and the Tools That Shape the Way You WorkIntegrated Development EnvironmentsIntroducing SASMLinux and TerminalsThe Three Standard Unix FilesI/O RedirectionTerminal ControlUsing Linux MakeDebugging with SASMChapter 7: Following Your Instructions: Meeting Machine Instructions Up Close and PersonalInstructions and OperandsSource and Destination OperandsImmediate, Register, and Memory DataWatching FlagsArithmetic InstructionsSigned vs. UnsignedDivisionReading Assembly Language ReferencesChapter 8: Our Object All Sublime: Creating Programs That WorkSections of an Assembly ProgramLabels and VariablesThe StackLinux Kernel Services via SyscallThe ABI’s Register SchemeDesigning Nontrivial ProgramsFrom Pseudocode to AssemblyChapter 9: Bits, Flags, Branches, and Tables: Easing Into Mainstream Assembly CodingBitwise Operations (AND, OR, XOR, NOT)Shifts and RotatesLookup TablesConditional and Unconditional JumpsCMP, TEST, BT Instructionsx64 Memory AddressingLEA InstructionTable Translation TechniquesChapter 10: Dividing and Conquering: Using Procedures and Macros to Battle Program ComplexityProcedures and the StackLocal Labels and DataInclude Files and LibrariesCreating and Using MacrosMacros vs. ProceduresConsole Control ExamplesChapter 11: Strings and Things: Those Amazing String InstructionsUnderstanding Strings in AssemblyREP STOSB and Other String InstructionsVirtual ScreensThe LOOP FamilyString SearchesCommand-Line ArgumentsStack Structure and AccessProgram Prologs and EpilogsChapter 12: Heading Out to C: Calling External Functions Written in the C LanguageUsing GCC and libc FunctionsCalling ConventionsStack Frame Setupprintf, scanf, puts, fgetsTime FunctionsRandom NumbersFile I/O in C from AssemblyAT&T Syntax OverviewPassing More Than Six ParametersWorking with Command-Line ArgumentsConclusion: Not the End, But Only the BeginningAppendix A: The Return of the Insight DebuggerUsing InsightStack and Memory ViewsLearn gdb!Appendix B: Partial x64 Instruction ReferenceWhat’s Removed from x64Flag Results and Instruction SyntaxInstruction Index (e.g., ADD, AND, CMP, JMP, MOV, MUL, RET, etc.)Appendix C: Character Set ChartsIndexEULA
Описание
Ниже — практический обзор по теме «assembly».
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."
Если материал оказался полезен — сохраните страницу.
Поделиться
Частые вопросы
Можно ли скачать «x64 Assembly Language Step-by-Step: Programming with Linux. 4 Ed» бесплатно?
Да, «x64 Assembly Language Step-by-Step: Programming with Linux. 4 Ed» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 4,4 МБ.
Кто автор и когда вышла книга?
автор — Jeff Duntemann , Pai Suhas, издательство John Wiley & Sons, Inc., год выпуска 2024, 636 страниц.
О чём книга «x64 Assembly Language Step-by-Step: Programming with Linux. 4 Ed»?
The long-awaited x64 edition of the bestselling introduction to Intel assembly languageIn the newly revised fourth edition of x64 Assembly Language Step-by-Step: Programming with Linux, author Jeff Duntemann delivers an extensively rewritte