Free Book Online
Book Introduction to 64 Bit Intel Assembly Language Programming for Linux


Introduction to 64 Bit Intel Assembly Language Programming for Linux

3.4 (3479)

Log in to rate this item

    Available in PDF - DJVU Format | Introduction to 64 Bit Intel Assembly Language Programming for Linux.pdf | Language: ENGLISH
    Ray Seyfarth(Author)

    Book details

This book is an assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The book is intended as a first assembly language book for programmers experienced in high level programming in a language like C or C++. The assembly programming is performed using the yasm assembler (much like the nasm assembler) under the Linux operating system.The book primarily teaches how to write assembly code compatible with C programs. The reader will learn to call C functions from assembly language and to call assembly functions from C in addition to writing complete programs in assembly language. The gcc compiler is used for C programming.The book starts early emphasizing using the gdb debugger to debug programs. Being able to single-step assembly programs is critical in learning assembly programming.Highlights of the book include doing input/output programming using the Linux system calls and the C library, implementing data structures in assembly language and high performance assembly language programming. A companion web site has a collection of PDF slides which instructors can use for in-class presentations and source code for sample programs.Early chapters of the book rely on using the debugger to observe program behavior. After a chapter on functions, the user is prepared to use printf and scanf from the C library to perform I/O.The chapter on data structures covers singly linked lists, doubly linked circular lists, hash tables and binary trees. Test programs are presented for all these data structures.There is a chapter on optimization techniques and 3 chapters on specific optimizations. One chapter covers how to efficiently count the 1 bits in an array with the most efficient version using the recently-introduced popcnt instruction. Another chapter covers using SSE instructions to create an efficient implementation of the Sobel filtering algorithm. The final high performance programming chapter discusses computing correlation between data in 2 arrays. There is an AVX implementation which achieves 20.5 GFLOPs on a single core of a Core i7 CPU.
3.2 (12453)
  • Pdf

*An electronic version of a printed book that can be read on a computer or handheld device designed specifically for this purpose.

Formats for this Ebook

Required Software Any PDF Reader, Apple Preview
Supported Devices Windows PC/PocketPC, Mac OS, Linux OS, Apple iPhone/iPod Touch.
# of Devices Unlimited
Flowing Text / Pages Pages
Printable? Yes

Book details

  • PDF | 252 pages
  • Ray Seyfarth(Author)
  • CreateSpace Independent Publishing Platform (24 Oct. 2011)
  • English
  • 6
  • Computing & Internet

Read online or download a free book: Introduction to 64 Bit Intel Assembly Language Programming for Linux


Review Text

  • By Kenneth O'Brien on 24 February 2012

    This book is reminiscent of K&R's C book. Tells you everything you need to get a good grounding in asm. Towards the end it even covers SSE and AVX instructions for those of us who need to squeeze all the power out of our machines.

  • Name:
    The message text*: