LEADER 05183nam 22006134a 450 001 9910783516903321 005 20200520144314.0 010 $a1-280-25262-6 010 $a9786610252626 010 $a0-7645-9561-X 035 $a(CKB)1000000000244156 035 $a(EBL)225831 035 $a(OCoLC)57756675 035 $a(SSID)ssj0000228430 035 $a(PQKBManifestationID)11223208 035 $a(PQKBTitleCode)TC0000228430 035 $a(PQKBWorkID)10154645 035 $a(PQKB)10779406 035 $a(Au-PeEL)EBL225831 035 $a(CaPaEBR)ebr10113951 035 $a(CaONFJC)MIL25262 035 $a(CaSebORM)9780764579011 035 $a(MiAaPQ)EBC225831 035 $a(EXLCZ)991000000000244156 100 $a20041207d2005 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aProfessional assembly language$b[electronic resource] /$fRichard Blum 205 $a1st edition 210 $aIndianapolis, IN $cWiley$dc2005 215 $a1 online resource (576 p.) 300 $aIncludes index. 311 $a0-7645-7901-0 327 $aProfessional Assembly Language; About the Author; Acknowledgments; Contents; Introduction; Who This Book Is For; What This Book Covers; How This Book Is Structured; What You Need to Use This Book; Conventions; Source Code; Errata; p2p. wrox. com; Chapter 1: What Is Assembly Language?; Processor Instructions; High-Level Languages; Assembly Language; Summary; Chapter 2: The IA-32 Platform; Core Parts of an IA-32 Processor; Advanced IA-32 Features; The IA-32 Processor Family; Summary; Chapter 3: The Tools of the Trade; The Development Tools; The GNU Assembler; The GNU Linker; The GNU Compiler 327 $aThe GNU Debugger ProgramThe KDE Debugger; The GNU Objdump Program; The GNU Profiler Program; A Complete Assembly Development System; Summary; Chapter 4: A Sample Assembly Language Program; The Parts of a Program; Creating a Simple Program; Debugging the Program; Using C Library Functions in Assembly; Summary; Chapter 5: Moving Data; Defining Data Elements; Moving Data Elements; Conditional Move Instructions; Exchanging Data; The Stack; Optimizing Memory Access; Summary; Chapter 6: Controlling Execution Flow; The Instruction Pointer; Unconditional Branches; Conditional Branches; Loops 327 $aDuplicating High-Level Conditional BranchesOptimizing Branch Instructions; Summary; Chapter 7: Using Numbers; Numeric Data Types; Integers; SIMD Integers; Binary Coded Decimal; Floating-Point Numbers; Conversions; Summary; Chapter 8: Basic Math Functions; Integer Arithmetic; Shift Instructions; Decimal Arithmetic; Logical Operations; Summary; Chapter 9: Advanced Math Functions; The FPU Environment; Basic Floating-Point Math; Advanced Floating-Point Math; Floating-Point Conditional Branches; Saving and Restoring the FPU State; Waiting versus Nonwaiting Instructions 327 $aOptimizing Floating-Point CalculationsSummary; Chapter 10: Working with Strings; Moving Strings; Storing and Loading Strings; Comparing Strings; Scanning Strings; Summary; Chapter 11: Using Functions; Defining Functions; Assembly Functions; Passing Data Values in C Style; Using Separate Function Files; Using Command-Line Parameters; Summary; Chapter 12: Using Linux System Calls; The Linux Kernel; System Calls; Using System Calls; Advanced System Call Return Values; Tracing System Calls; System Calls versus C Libraries; Summary; Chapter 13: Using Inline Assembly; What Is Inline Assembly? 327 $aBasic Inline Assembly CodeExtended ASM; Using Inline Assembly Code; Summary; Chapter 14: Calling Assembly Libraries; Creating Assembly Functions; Compiling the C and Assembly Programs; Using Assembly Functions in C Programs; Using Assembly Functions in C++ Programs; Creating Static Libraries; Using Shared Libraries; Debugging Assembly Functions; Summary; Chapter 15: Optimizing Routines; Optimized Compiler Code; Creating Optimized Code; Optimization Tricks; Summary; Chapter 16: Using Files; The File-Handling Sequence; Opening and Closing Files; Writing to Files; Reading Files 327 $aReading, Processing, and Writing Data 330 $aUnlike high-level languages such as Java and C++, assembly language is much closer to the machine code that actually runs computers; it's used to create programs or modules that are very fast and efficient, as well as in hacking exploits and reverse engineeringCovering assembly language in the Pentium microprocessor environment, this code-intensive guide shows programmers how to create stand-alone assembly language programs as well as how to incorporate assembly language libraries or routines into existing high-level applicationsDemonstrates how to manipulate data, incorporate 606 $aAssembler language (Computer program language) 615 0$aAssembler language (Computer program language) 676 $a005.13/6 700 $aBlum$b Richard$f1962-$0447753 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910783516903321 996 $aProfessional assembly language$93778258 997 $aUNINA