Mastering Assembly Programming

Incorporate the assembly language routines in your high level language applications
Preview in Mapt

Mastering Assembly Programming

Alexey Lyashko

Incorporate the assembly language routines in your high level language applications
Mapt Subscription
FREE
$29.99/m after trial
eBook
$10.00
RRP $35.99
Save 72%
Print + eBook
$44.99
RRP $44.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$10.00
$44.99
$29.99 p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Mastering Assembly Programming Book Cover
Mastering Assembly Programming
$ 35.99
$ 10.00
Mastering Machine Learning Algorithms Book Cover
Mastering Machine Learning Algorithms
$ 35.99
$ 10.00
Buy 2 for $20.00
Save $51.98
Add to Cart

Book Details

ISBN 139781787287488
Paperback258 pages

Book Description

The Assembly language is the lowest level human readable programming language on any platform. Knowing the way things are on the Assembly level will help developers design their code in a much more elegant and efficient way. It may be produced by compiling source code from a high-level programming language (such as C/C++) but can also be written from scratch. Assembly code can be converted to machine code using an assembler.

The first section of the book starts with setting up the development environment on Windows and Linux, mentioning most common toolchains. The reader is led through the basic structure of CPU and memory, and is presented the most important Assembly instructions through examples for both Windows and Linux, 32 and 64 bits. Then the reader would understand how high level languages are translated into Assembly and then compiled into object code. Finally we will cover patching existing code, either legacy code without sources or a running code in same or remote process.

Table of Contents

Chapter 1: Intel Architecture
Processor registers
Summary
Chapter 2: Setting Up a Development Environment
Microsoft Macro Assembler
GNU Assembler (GAS)
Flat Assembler
Summary
Chapter 3: Intel Instruction Set Architecture (ISA)
Assembly source template
Data types and their definitions
A debugger
The instruction set summary
Summary
Chapter 4: Memory Addressing Modes
Addressing code
Addressing data
Far pointers
Summary
Chapter 5: Parallel Data Processing
SSE
Biorhythm calculator
AVX-512
Summary
Chapter 6: Macro Instructions
What are macro instructions?
An introduction to calling conventions
A note on Flat Assembler's macro capabilities
Macro instructions in MASM and GAS
Other assembler directives (FASM Specific)
Summary
Chapter 7: Data Structures
Arrays
Structures
Linked lists
Trees
Sparse matrices
Graphs
Summary
Chapter 8: Mixing Modules Written in Assembly and Those Written in High-Level Languages
Crypto Core
Interfacing with C/C++
Assembly and managed code
Summary
Chapter 9: Operating System Interface
The rings
System call
Using libraries
Summary
Chapter 10: Patching Legacy Code
The executable
The issue
PE files
ELF executables
Summary
Chapter 11: Oh, Almost Forgot
Protecting the code
A bit of kernel space
Summary

What You Will Learn

  • Obtain deeper understanding of the underlying platform
  • Understand binary arithmetic and logic operations
  • Create elegant and efficient code in Assembly language
  • Understand how to link Assembly code to outer world
  • Obtain in-depth understanding of relevant internal mechanisms of Intel CPU
  • Write stable, efficient and elegant patches for running processes

Authors

Table of Contents

Chapter 1: Intel Architecture
Processor registers
Summary
Chapter 2: Setting Up a Development Environment
Microsoft Macro Assembler
GNU Assembler (GAS)
Flat Assembler
Summary
Chapter 3: Intel Instruction Set Architecture (ISA)
Assembly source template
Data types and their definitions
A debugger
The instruction set summary
Summary
Chapter 4: Memory Addressing Modes
Addressing code
Addressing data
Far pointers
Summary
Chapter 5: Parallel Data Processing
SSE
Biorhythm calculator
AVX-512
Summary
Chapter 6: Macro Instructions
What are macro instructions?
An introduction to calling conventions
A note on Flat Assembler's macro capabilities
Macro instructions in MASM and GAS
Other assembler directives (FASM Specific)
Summary
Chapter 7: Data Structures
Arrays
Structures
Linked lists
Trees
Sparse matrices
Graphs
Summary
Chapter 8: Mixing Modules Written in Assembly and Those Written in High-Level Languages
Crypto Core
Interfacing with C/C++
Assembly and managed code
Summary
Chapter 9: Operating System Interface
The rings
System call
Using libraries
Summary
Chapter 10: Patching Legacy Code
The executable
The issue
PE files
ELF executables
Summary
Chapter 11: Oh, Almost Forgot
Protecting the code
A bit of kernel space
Summary

Book Details

ISBN 139781787287488
Paperback258 pages
Read More

Read More Reviews

Recommended for You

Understanding Software Book Cover
Understanding Software
$ 23.99
$ 10.00
Practical Time Series Analysis Book Cover
Practical Time Series Analysis
$ 35.99
$ 10.00
Mastering Swift 4 - Fourth Edition Book Cover
Mastering Swift 4 - Fourth Edition
$ 35.99
$ 10.00
Architecting Modern Java EE Applications Book Cover
Architecting Modern Java EE Applications
$ 39.99
$ 10.00
Mastering ROS for Robotics Programming - Second Edition Book Cover
Mastering ROS for Robotics Programming - Second Edition
$ 39.99
$ 10.00
Mastering Machine Learning Algorithms Book Cover
Mastering Machine Learning Algorithms
$ 35.99
$ 10.00