
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Introduction to 64 Bit Intel Assembly Language Programming for Linux
- ISBN-101466470038
- ISBN-13978-1466470033
- PublisherCreatespace Independent Pub
- Publication dateJanuary 1, 2011
- LanguageEnglish
- Dimensions6.25 x 0.75 x 9.25 inches
- Print length252 pages
There is a newer edition of this item:
$15.99
(47)
Only 1 left in stock - order soon.
Frequently purchased items with fast delivery
Editorial Reviews
From the Author
I wish to thank the person who recently gave me some suggestions for improving my book. Getting feedback from readers is an important way for me to improve the book. I will be updating the book over the next few months and I will try to improve it as you have suggested.
There are instructions on page 8 of the book detailing how to assemble a program under Linux. I will try to elaborate on this more in the next version of the book. In the meantime I try to answer email sent to me as described in the preface. I will try to add more index entries to help guide people to the discussion of how to assemble.
Along with the new version of the book I provide a free integrated development environment - ebe. Ebe supports programming in Assembly, C/C++ and Fortran. High-level language support needs bit more work and I still need to add some essential features to ebe, but ebe makes it trivial for a person to enter, assemble, link and execute an assembly program. In fact you can load hello.asm from the ebe menu system, save it and execute it without typing. This is considerably easier typing Linux commands. I have been using ebe this spring for C++ programming and I have found it pretty easy to enter C++ code. I hope this adequately addresses the issue of assembling and linking, though I know that I can't foresee every problem which traps beginning assembly programmers. I will continue to try to answer questions emailed to me.
The other important issue pointed out by the reviewer is a lack of examples. There are examples in every chapter, but there is clearly room for more. I will try to add more examples.
Thanks again for reviewing my book. I hope I can remain at 3.7 or higher. I will try.
From the Back Cover
The latest Intel and AMD CPUs have more registers and more capabilities when running in 64 bit mode. Achieving high performance using SSE and AVX instructions dictates using or writing code in assembly language.
If you know C or C++, this book will expand your skills while clarifying exactly what your compiler does with your code.
The book progresses from simple concepts to loops, functions, arrays, structs, system calls and using C library functions. Advanced features include data structures in assembly and examples of high performance programming using SSE and AVX instructions.
About the Author
He earned his Ph.D. in Computer Science at the University of Florida in 1989. From 1990 until 2012 he has been a professor at the University of Southern Mississippi. He plans to retire after the Spring 2012 semester and devote more of his time to developing his assembly language textbook and pursue a variety of dreams.
At Southern Miss Dr. Seyfarth has taught Assembly Language, C, C++, Fortran, Algorithms, UNIX, Network Programming, Parallel Algorithms, Formal Languages, Compiler Theory and Computer Graphics using OpenGL. His recent research efforts have been in image processing and network server design.
Product details
- Publisher : Createspace Independent Pub (January 1, 2011)
- Language : English
- Paperback : 252 pages
- ISBN-10 : 1466470038
- ISBN-13 : 978-1466470033
- Item Weight : 15 ounces
- Dimensions : 6.25 x 0.75 x 9.25 inches
- Best Sellers Rank: #8,807,159 in Books (See Top 100 in Books)
- #282 in Assembly Language Programming
- #518 in Linux Programming
- #9,817 in Introductory & Beginning Programming
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
- 5 star4 star3 star2 star1 star5 star60%30%0%0%10%60%
- 5 star4 star3 star2 star1 star4 star60%30%0%0%10%30%
- 5 star4 star3 star2 star1 star3 star60%30%0%0%10%0%
- 5 star4 star3 star2 star1 star2 star60%30%0%0%10%0%
- 5 star4 star3 star2 star1 star1 star60%30%0%0%10%10%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on May 19, 2012At the first glance, this looks like a book written roughly or this lacks of fidelity.
Yes, I think, the reader needs a little bit pre-knowledge on assembly language before reading this book.
But this short book deals with lots of good practical examples in assembly language which can not be found easily in the other assembly books.
Such as the conditional statements, recursive function call, array access, C function calls, a linked list and so on.
You can get some effective skills or tips from this book and you may be felt to read a good short story.
- Reviewed in the United States on May 2, 2014The book was delivered on time and was in perfect shape. You can't expect more than that, which is why I gave it 5 stars.
- Reviewed in the United States on November 28, 2011The book, "Introduction to 64 Bit Intel Assembly Language Programming for Linux" by Ray Seyfarth is a well-written book by an educator and researcher. Though it is intended for sophomores and juniors in an undergraduate computer science curriculum, it would benefit any C, C++ and Fortran programmer who wants to improve the performance of their compute-intensive code. As the author himself says, one needs to learn the assembly language not for the sake of learning assembly language, but to improve their skills in writing better code in other languages.
This book is completely self-contained. It starts with the explanation of basic concepts such as bytes, and number representations and quickly progresses through memory mappings and memory models in Linux, and explains registers in 64-bit architectures as opposed to the registers in 32-bit architectures. Then the book lucidly explains the fundamental concepts of assembly language such as bit operations, branching, looping, functions, arrays, floating point operations, structs, etc., with each topic covered in its own section. Then the book covers topics of interest to application developers including an in-depth coverage of data structures including linked lists, doubly linked lists, hash tables, and binary trees. Then, the book covers topics related to high performance computing applications and presents several examples including an implementation of the Sobel filter and a correlation algorithm. Performance comparisons are provided for the same algorithms implemented in C and in assembly. For example, using the correlation algorithm in the book one can get 20.5 GFLOPs/sec using AVX instructions on a Core i7 CPU. On the other hand, with the equivalent C code compiled with gcc with -O3 and funroll loops options one would only get 5.9 GFLOPs/sec on the same CPU.
The book explains all concepts with examples that a reader can run in gdb (the Linux debugger) and provides clear instructions on what to print and what to examine. This helps the novices and the experts alike to understand the concepts using hands-on experience. The book is loaded with practical exercise problems that can further one's understanding of the concepts presented.
The book is well-organized and the chapters are arranged in a thoughtful manner. The chapters are small and the explanations are to the point.
Conventional textbooks seem to be written to be of a certain size and thickness and so seem to be padded with materials that can be succinctly said. While hardcovers and acid-free papers add to the margins of the publishers, they don't add as much value to the reader's understanding. Ray Seyfarth has adapted the emerging e-publishing trend for this book. This has allowed him to price this valuable textbook in the same price range as a hardcover novel, which is a tough-to-beat price range for textbooks and offers tremendous savings to students and other buyers.
- Reviewed in the United States on January 24, 2012Dr. Seyfarth is a brilliant man and this book is a testament to that. While some parts are rather confusing, it is only because you're dealing with assembly. I can't imagine having to do highly complex programs in this language.
Dr. Seyfarth can though, and he transfers as much knowledge as he can into this book. It maintains a nice tone throughout, which makes it much easier to follow. There is also plenty of example code found inside that will help you figure out what is going on. Definitely worth the price, especially compared to other textbooks.
- Reviewed in the United States on March 14, 2012This book is rather confusing. Concepts are not explained completely or thoroughly enough. There aren't enough examples to illustrate concepts either, and the few examples that are in this book are not discussed completely. Trying to write and compile even the simplest of Linux Assembly programs using only the information in this book will have you pulling your hair out in confusion and frustration. The only redeeming quality of this book is the chapter that explains conversion between decimal, binary, and hexadecimal, but that alone can't justify purchasing this book, as that information is already abundant on the internet.
This book may be useful as supplementary material for some one that already has a good understanding of assembly, but I can't recommend this for beginners or undergraduates.
Top reviews from other countries
- Kenneth O'BrienReviewed in the United Kingdom on February 24, 2012
5.0 out of 5 stars Finally a good x64 assembly book
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.