Potrai iniziare a leggere Introduction to 64 Bit Intel Assembly Language Programmin... sul tuo Kindle tra meno di un minuto. Non possiedi un Kindle? Scopri Kindle Oppure inizia subito a leggere con un'applicazione di lettura Kindle gratuita.

Invia a Kindle o a un altro dispositivo

 
 
 

Prova gratis

Leggi gratuitamente l'inizio di questo eBook

Invia a Kindle o a un altro dispositivo

Grazie all'app Kindle GRATUITA per smartphone, tablet e computer, potrai leggere i libri Kindle, anche se non possiedi un dispositivo Kindle.
Introduction to 64 Bit Intel Assembly Language Programming for Linux: Second Edition (English Edition)
 
Visualizza l'immagine in formato grande
 

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

Ray Seyfarth

Prezzo Copertina Ed. Cartacea: EUR 19,09
Prezzo Kindle: EUR 3,96 include IVA (dove applicabile) e il download wireless gratuito con Amazon Whispernet
Risparmi: EUR 15,13 (79%)

Formati

Prezzo Amazon Nuovo a partire da Usato da
Formato Kindle EUR 3,96  
Copertina flessibile EUR 18,55  

Chi ha acquistato questo articolo ha acquistato anche


Descrizione prodotto

Sinossi

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.

Dettagli prodotto

  • Formato: Formato Kindle
  • Dimensioni file: 6734 KB
  • Lunghezza stampa: 310
  • Numeri di pagina fonte ISBN: 1478119209
  • Utilizzo simultaneo di dispositivi: illimitato
  • Venduto da: Amazon Media EU S.à r.l.
  • Lingua: Inglese
  • ASIN: B008H7HL3M
  • Da testo a voce: Abilitato
  • X-Ray:
  • Posizione nella classifica Bestseller di Amazon: #24.803 a pagamento nel Kindle Store (Visualizza i Top 100 a pagamento nella categoria Kindle Store)

Recensioni clienti

Non ci sono ancora recensioni di clienti su Amazon.it
5 stelle
4 stelle
3 stelle
2 stelle
1 stella
Le recensioni clienti più utili su Amazon.com (beta)
Amazon.com: 4.1 su 5 stelle  18 recensioni
6 di 6 persone hanno trovato utile la seguente recensione
4.0 su 5 stelle Decent introduction in less time 13 ottobre 2013
Di David Edwards - Pubblicato su Amazon.com
Formato:Copertina flessibile
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.
6 di 6 persone hanno trovato utile la seguente recensione
5.0 su 5 stelle So far, this is the only book on 64bit Assembly Programming! 23 settembre 2013
Di Charles T. Bell - Pubblicato su Amazon.com
Formato:Copertina flessibile|Acquisto verificato
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.
5 di 6 persone hanno trovato utile la seguente recensione
5.0 su 5 stelle Easy and Deep 2 giugno 2013
Di Carsten Hansen - Pubblicato su Amazon.com
Formato:Formato Kindle|Acquisto verificato
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.
5 di 6 persone hanno trovato utile la seguente recensione
5.0 su 5 stelle Great introduction into x86-64 11 dicembre 2012
Di Philip G Koshy - Pubblicato su Amazon.com
Formato:Copertina flessibile|Acquisto verificato
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 di 8 persone hanno trovato utile la seguente recensione
2.0 su 5 stelle disappointing 18 agosto 2013
Di Vivace - Pubblicato su Amazon.com
Formato:Copertina flessibile|Acquisto verificato
I wanted to find a nice book on assembly so i could learn so i could write a little piece i have in mind in hyper efficient low level code.
I didnt want to spend 120$+ on the book that i thought seemed good.

This one had a reasonable price, and hey im on linux so i gave it a shot. Now i realize that assembly language:
1. sits on a lot of background
* binary, hex, twos compliment etc...the book has a nice refresher in these areas.
* has to introduce computer architecture. memory maps, registers, etc...its less like having a mathematical syntax than navigating around this strange machine yard.

2. can not be taught with a reference manual style.

Still the index is terrible! The code examples are followed by these break point execution step throughs via this ebe environment. I guess the author thought it would be the most clear way to see what is going on but i find its just really hard on the eyes! I mean this literally and figuratively. The text in the screen shots of ebe isnt so great to look at.

How about a line by line explanation of what is happening? you kind of get that in the comments but its insufficient. Shoot i forgot what rbp is-- is it in the index?? Nope...theres no comment on that line...ugg...and heaven forbid a little redundancy--would it kill him to repeat a few times the definitions of these things?? sentences like 'remember the rbx is ...' would be VERY helpful but dont appear.

I dont know. THe lines i wanted clarification on never seemed to get annotated and many times the annotation is just strange.

ALso i feel frustrted that we just arent clearly told how to pass in arguments to these programs that we can just write and call from the commandline. He does cover linking and using yasm in the beginning but agian the book seems to be designed to break point through with hard coded examples.

On the up side, there are some cool examples and the demos and comparisons vs C code at the end are cool. And for some reason i seem to just be glued to this book since i got it....its fascinating yet frustrating.

Ricerca articoli simili per categoria