IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Livre Assembleur "Beginning x64 Assembly Programming: From Novice to AVX Professional" de Jo Van Hoey
Critique par Philippe Guesset

Le , par Alcatîz

186PARTAGES

3  0 
Beginning x64 Assembly Programming
From Novice to AVX Professional
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 beused, 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.

What You Will Learn

  • 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


Who This Book Is For

Programmers in high level languages. It is also for systems engineers and security engineers working for malware investigators. Required knowledge: Linux, Windows, virtualization, and higher level programming languages (preferably C or C++).

[Lire la suite]



Vous avez lu gratuitement 1 677 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Guesset
Expert confirmé https://www.developpez.com
Le 21/06/2024 à 16:06
Si on oublie la prétention "...to AVX professionnal" du sous-titre ce n'est pas un mauvais livre pour débuter mais il ne faut pas en attendre plus.

Un exemple : l'assembleur inline. Seulement 7 pages avec la seule codification ATT qui nécessiterait d'être un peut plus explicitée d'autant que le reste du livre utilise la notation Intel. Rien sur le passage d'arguments par registre et des différences qui existent selon les systèmes d'exploitation et les modes 32 ou 64 bits.

Les codes AVX sont clairement présentés. Il n'y en a qu'une petite partie, mais cela peut aisément se comprendre vu la quantité impressionnantes d'instructions. Plus gênant, il y a des incomplétudes non négligeables. Par exemple, le brassage d'octets (pshufb) explique bien comment s'opère l'affectation des octets mais oublie la condition qui permet de mettre à 0 la position cible (code d'indexation > 127).

La présentation des instructions alignées est assez surprenante, mais bienvenue, dans un livre qui débute, entre autres, avec la représentation binaire des nombres (avec une erreur page 96 sur l'exemple de représentation d'un flottant).

A mon sens, c'est un livre dont la lecture devrait être accompagnée par un enseignant.

Forme
Les exemples de code sont très (trop ?) aérés. Le format est de 25 cm x 18 cm en 400 pages sous une fragile couverture. Les pages sont maintenues par collage, ce n'est pas très pérenne mais le nombre de pages modéré ne devrait pas trop solliciter ce type de reliure.

C'est donc un livre d'initiation qui s'ouvre un peu vers les instructions récentes. Est-ce suffisant pour qu'il soit recommandable ? Oui, si cette ouverture manque à la concurrence comme cela a été longtemps le cas.

Salutations
1  0