Start reading Introduction to 64 Bit Intel Assembly Language Programmin... on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.
OR
Read for free
with Kindle Unlimited

Deliver to your Kindle or other device

 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Sorry, this item is not available in
Image not available for
Colour:
Image not available
 

Introduction to 64 Bit Intel Assembly Language Programming for Linux: Second Edition [Kindle Edition]

Ray Seyfarth
4.0 out of 5 stars  See all reviews (1 customer review)

Print List Price: £14.95
Kindle Price: £3.94 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £11.01 (74%)
 
Kindle Unlimited Read this title for £0.00 and get unlimited access to over 700,000 titles. Learn More
* Unlike print books, digital books are subject to VAT.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your e-mail address or mobile phone number.

Formats

Amazon Price New from Used from
Kindle Edition £3.94  
Paperback £14.95  
Kindle Unlimited
Kindle Unlimited
Enjoy unlimited access to over 650,000 titles and thousands of audiobooks on any device for £7.99 a month, including this one. Learn more

Book Description

This is the second edition of this assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The primary addition to the second edition is the discussion of the free integrated development environment, ebe, designed by the author specifically to meet the needs of assembly language programmers. Ebe is a Python program which uses the Tkinter and Pwm widget sets to implement a GUI environment consisting of a source window, a data window, a registers window, a console window, a terminal window and a project window. The source window includes a full-featured text editor with convenient controls for assembling, linking and debugging a program. The project facility allows a program to be built from C source code files and assembly source files. Assembly is performed automatically using the yasm assembler and linking is performed with ld or gcc. Debugging operates by transparently sending commands into the gdb debugger while automatically displaying registers and variables after each debugging step. Additional information about ebe can be found at http://www.rayseyfarth.com.

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 automatically from the ebe IDE 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 internally to compile C programs.

The book starts early emphasizing using ebe to debug programs, along with teaching equivalent commands using gdb. Being able to single-step assembly programs is critical in learning assembly programming. Ebe makes this far easier than using gdb directly.

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.

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.

A companion web site, http://www.rayseyfarth.com, has a collection of PDF slides which instructors can use for in-class presentations and source code for sample programs.


Product details

  • Format: Kindle Edition
  • File Size: 6734 KB
  • Print Length: 310 pages
  • Page Numbers Source ISBN: 1478119209
  • Simultaneous Device Usage: Unlimited
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B008H7HL3M
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: #208,044 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?


More About the Author

Discover books, learn about writers, and more.

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

5 star
0
3 star
0
2 star
0
1 star
0
4.0 out of 5 stars
4.0 out of 5 stars
Most Helpful Customer Reviews
2 of 2 people found the following review helpful
By Chris
Format:Kindle Edition|Verified Purchase
I own the second edition of this great book and have absolutely no problems with the layout or size of the examples. It is true that some of them are shown as screenshots but many are not shown this way and in neither case is it difficult to read - at least not on my iPad or Nexus 7.

I would recommend this book as an intro to 64bit assembly programming. I'm about half way through and I'm not seeing much specific tie to Linux - nothing that would stop an interested Windows programmer. The writing style is good but you do really need to pay attention to the examples as not everything is explained in the text.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.3 out of 5 stars  20 reviews
7 of 7 people found the following review helpful
5.0 out of 5 stars So far, this is the only book on 64bit Assembly Programming! 23 Sept. 2013
By Charles T. Bell - Published on Amazon.com
Format:Paperback|Verified Purchase
I do like the layout of this book. It has a couple of problems for the IDE it uses.
I would recommend both yasm and gold as the compiler and linker respectively. The author prefers ld even though it is not optimized for 64bit like gold is.
Currently, the author will respond to emails if you have problems or suggestions.
The book itself is well laid out and covers appropriate subjects in order. It is good for the beginner/intermediate as a learning tool and handy for the expert as a reference book for the 64bit commands/registers.
6 of 6 people found the following review helpful
4.0 out of 5 stars Decent introduction in less time 13 Oct. 2013
By David Edwards - Published on Amazon.com
Format:Paperback
This book is not such a thick tome as many assembly books and allows a person wanting to learn assembly to do so in approximately ten weeks with 5 hours of study per week. I agree with the author that chapter 4 should just be skipped or read casually. Chapter 4 needs a lot more explanation or outside study to really get a handle on this memory topic. However, the rest of the book is good and gives a good introduction to 64 bit Assembly in Linux. Its emphasis is on science/engineering and optimization and not on device drivers or kernel writing.

*** When working through this book, be sure to also have the Intel manual with its alphabetic listing of assembly instructions on the screen also. It will be your main source for moving beyond basic assembly and is a good supplement from the beginning.
[...]

Assembly is so much nicer in 64 bit with all the extra registers, instructions, etc.

I have both the first and second edition. Some have said the ebe figures are hard to read in the 2nd edition, but they are easy to read in the copy I have.

The second addition adds additional exercises and explanation. It is worth getting it instead of the first edition. The hundreds of dollars asking price for the first edition is a ridiculous joke! Don't buy it, just get the second edition.
3 of 3 people found the following review helpful
5.0 out of 5 stars Brilliant introduction to assembly on 64 bit (x86-64) 31 Mar. 2014
By manoj awasthi - Published on Amazon.com
Format:Paperback
I am through most of the book and am very happy I added it to my personal library. It is a very useful and effective introduction to assembly language - one which I would want to recommend as a mandatory text in the engineering syllabus. It goes through lot of details which make things quite clear - floating point representation in memory, different segments of the program, implementation of data structures like arrays, linked lists (structures), binary trees, hash tables and has a chapter relating to recent SSE and AVX instructions. Over all very happy on this purchase. So not a reference manual (~ 250 pages) but a book I'd really use and keep coming back.
5 of 6 people found the following review helpful
5.0 out of 5 stars Great introduction into x86-64 11 Dec. 2012
By Philip G Koshy - Published on Amazon.com
Format:Paperback|Verified Purchase
I had done a bit of x86 (32) and MIPs in college so I got this book to fill in gaps. I'm only a few chapters in but I am very happy with my purchase so far. Note: Although the author moves slowly, you should be familiar with basic linux concepts.
6 of 8 people found the following review helpful
5.0 out of 5 stars Easy and Deep 2 Jun. 2013
By Carsten Hansen - Published on Amazon.com
Format:Kindle Edition|Verified Purchase
The book is easy to read with many concrete examples. I like the program "Computing Correlation" written in C, SSE and AVX instructions. There is a website with all source code and slides.

On 2^8 (256) pages you get more than other books with more than 500 pages.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category