Loading…

Professional assembly language /

Unlike 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...

Full description

Bibliographic Details
Call Number:Libro Electrónico
Main Author: Blum, Richard, 1962-
Format: Electronic eBook
Language:Inglés
Published: Indianapolis, IN : Wiley, ©2005.
Series:Wrox professional guides.
Subjects:
Online Access:Texto completo
Texto completo
Table of Contents:
  • Professional 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
  • The 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
  • Duplicating 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
  • Optimizing 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?
  • Basic 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