Skip to main content

Introducing new learning courses and educational videos from Apress. Start watching

  • Book
  • © 2019

Beginning x64 Assembly Programming

From Novice to AVX Professional

Apress

Authors:

  • Contains simple programs and schemes to show how complicated assembly instructions work

  • Starts with the easy parts and goes up to the more complex AVX instructions

  • Introduces open source tools that make assembly programming more accessible

Buying options

eBook USD 29.99
Price excludes VAT (USA)
  • ISBN: 978-1-4842-5076-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 37.99
Price excludes VAT (USA)

This is a preview of subscription content, access via your institution.

Table of contents (43 chapters)

  1. Front Matter

    Pages i-xix
  2. Your First Program

    • Jo Van Hoey
    Pages 1-12
  3. Program Analysis with a Debugger: GDB

    • Jo Van Hoey
    Pages 21-33
  4. Your Next Program: Alive and Kicking!

    • Jo Van Hoey
    Pages 35-45
  5. Assembly Is Based on Logic

    • Jo Van Hoey
    Pages 47-50
  6. Data Display Debugger

    • Jo Van Hoey
    Pages 51-55
  7. Jumping and Looping

    • Jo Van Hoey
    Pages 57-66
  8. Memory

    • Jo Van Hoey
    Pages 67-75
  9. Integer Arithmetic

    • Jo Van Hoey
    Pages 77-85
  10. The Stack

    • Jo Van Hoey
    Pages 87-93
  11. Floating-Point Arithmetic

    • Jo Van Hoey
    Pages 95-100
  12. Functions

    • Jo Van Hoey
    Pages 101-106
  13. Stack Alignment and Stack Frame

    • Jo Van Hoey
    Pages 107-111
  14. External Functions

    • Jo Van Hoey
    Pages 113-119
  15. Calling Conventions

    • Jo Van Hoey
    Pages 121-131
  16. Bit Operations

    • Jo Van Hoey
    Pages 133-145
  17. Bit Manipulations

    • Jo Van Hoey
    Pages 147-151
  18. Macros

    • Jo Van Hoey
    Pages 153-157
  19. Console I/O

    • Jo Van Hoey
    Pages 159-166

About this book

Program in assembly starting with simple and basic programs, all the way up to AVX programming. By the end of this book, you will be able to write and read assembly code, mix assembly with higher level languages, know what AVX is, and a lot more than that. 

The code used in Beginning x64 Assembly Programming is kept as simple as possible, which means: no graphical user interfaces or whistles and bells or error checking. Adding all these nice features would distract your attention from the purpose: learning assembly language. The theory is limited to a strict minimum: a little bit on binary numbers, a short presentation of logical operators, and some limited linear algebra. And we stay far away from doing floating point conversions. 

The assembly code is presented in complete programs, so that you can test them on your computer, play with them, change them, break them. This book will also show you what tools can be used, how to use them, and the potential problems in those tools. It is not the intention to give you a comprehensive course on all of the assembly instructions, which is impossible in one book: look at the size of the Intel Manuals. Instead, the author will give you a taste of the main items, so that you will have an idea about what is going on. If you work through this book, you will acquire the knowledge to investigate certain domains more in detail on your own. 

The majority of the book is dedicated to assembly on Linux, because it is the easiest platform to learn assembly language. At the end the author provides a number of chapters to get you on your way with assembly on Windows. You will see that once you have Linux assembly under your belt, it is much easier to take on Windows assembly.

This book should not be the first book you read on programming, if you have never programmed before, put this book aside for a while and learn some basics of programming with a higher-level language such as C.

You will:
  • Discover how a CPU and memory works
  • Appreciate how a computer and operating system work together
  • See how high-level language compilers generate machine language, and use that knowledge to write more efficient code
  • Be better equipped to analyze bugs in your programs
  • Get your program working, which is the fun part
  • Investigate malware and take the necessary actions and precautions

Keywords

  • Assembly
  • programming
  • x64
  • AVX
  • source
  • code
  • language
  • micro
  • applications
  • software
  • 64-bit
  • avx

Authors and Affiliations

  • Hamme, Belgium

    Jo Van Hoey

About the author

Jo Van Hoey has 40 years of experience in IT, in diverse functions, multiple IT companies, and multiple computing platforms. He recently retired from IBM, where he was a mainframe software account manager. He has always been interested in IT security and knowledge of assembly language is an essential skill in defending IT infrastructure against attacks and malware. 

Bibliographic Information

Buying options

eBook USD 29.99
Price excludes VAT (USA)
  • ISBN: 978-1-4842-5076-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 37.99
Price excludes VAT (USA)