Cantitate/Preț
Produs

Learn to Program with Assembly

Autor Jonathan Bartlett
en Limba Engleză Paperback – 6 noi 2021

În domeniul dezvoltării software de sistem și al optimizării de performanță, înțelegerea arhitecturii hardware rămâne un avantaj competitiv critic. Learn to Program with Assembly propune o incursiune tehnică în limbajul x86 pe 64 de biți, demistificând modul în care procesorul execută instrucțiunile sub sistemul de operare Linux. Remarcăm faptul că, deși subiectul este adesea considerat arid, Jonathan Bartlett structurează materialul într-o manieră progresivă, făcând tranziția de la registre și aritmetică de bază către concepte avansate de inginerie software. Spre deosebire de alte lucrări introductive, acest volum nu se rezumă la sintaxă, ci explorează puntea dintre asamblare și limbajele de nivel înalt. În a treia parte a cărții, observăm o analiză detaliată a modului în care programarea orientată pe obiecte (OOP) și colectarea deșeurilor (garbage collection) sunt traduse la nivel de procesor. Complementar volumului Beginning x64 Assembly Programming de Jo Van Hoey, care pune accent pe simplitate și instrucțiuni AVX, lucrarea lui Bartlett oferă o perspectivă mai profundă asupra interacțiunii cu nucleul sistemului de operare prin apeluri de sistem directe și gestiunea stack-ului. Această ediție reprezintă evoluția logică a titlului Programming from the Ground Up, actualizând conceptele fundamentale pentru era 64-bit. Dacă în Programming for Absolute Beginners autorul se concentra pe abstractizarea prin JavaScript, aici el demontează aceste straturi, oferind instrumentele necesare pentru a scrie cod eficient și biblioteci dinamice partajate. Structura este riguroasă, incluzând anexe esențiale despre depanare și optimizare, asigurând o acoperire completă a ecosistemului de programare low-level.

Citește tot Restrânge

Preț: 30007 lei

Preț vechi: 37508 lei
-20%

Puncte Express: 450

Carte disponibilă

Livrare economică 30 aprilie-14 mai
Livrare express 15-21 aprilie pentru 13406 lei


Specificații

ISBN-13: 9781484274361
ISBN-10: 1484274369
Pagini: 348
Ilustrații: XVII, 328 p. 11 illus.
Dimensiuni: 178 x 254 x 19 mm
Greutate: 0.66 kg
Ediția:1st edition
Editura: Apress
Locul publicării:Berkeley, CA, United States

De ce să citești această carte

Recomandăm această carte programatorilor care doresc să depășească bariera abstractizării și să înțeleagă mecanica internă a procesorului x86-64. Cititorul câștigă capacitatea de a scrie rutine de înaltă performanță și de a înțelege cum funcționează cu adevărat memoria și apelurile de sistem. Este un ghid practic esențial pentru oricine vrea să stăpânească fundamentele hardware-ului modern, oferind inclusiv suport pentru medii Windows sau Mac prin Docker.


Despre autor

Jonathan Bartlett este un autor polivalent și un specialist recunoscut în arhitectura sistemelor de calcul. Lucrarea sa anterioară, Programming from the Ground Up, a servit drept text de referință timp de peste 15 ani pentru cei care studiază programarea low-level sub Linux. Dincolo de expertiza în asamblare, Bartlett a publicat lucrări despre tehnologii moderne precum Cloud Native Applications with Docker and Kubernetes, demonstrând o capacitate rară de a naviga între straturile fundamentale ale hardware-ului și complexitatea infrastructurilor cloud actuale.


Descriere scurtă

Many programmers have limited effectiveness because they don't have a deep understanding of how their computer actually works under the hood.  In Learn to Program with Assembly, you will learn to program in assembly language - the language of the computer itself. 

Assembly language is often thought of as a difficult and arcane subject.  However, author Jonathan Bartlett presents the material in a way that works just as well for first-time programmers as for long-time professionals.  Whether this is your first programming book ever or you are a professional wanting to deepen your understanding of the computer you are working with, this book is for you.  The book teaches 64-bit x86 assembly language running on the Linux operating system.  However, even if you are not running Linux, a provided Docker image will allow you to use a Mac or Windows computer as well.

The book starts with extremely simple programs to help you get your grounding, going steadily deeper with each chapter.  At the end of the first section, you will be familiar with most of the basic instructions available on the processor that you will need for any task.  The second part deals with interactions with the operating system.  It shows how to make calls to the standard library, how to make direct system calls to the kernel, how to write your own library code, and how to work with memory.  The third part shows how modern programming language features such as exception handling, object-oriented programming, and garbage collection work at the assembly language level.  

Additionally, the book comes with several appendices covering various topics such as running the debugger, vector processing, optimization principles, a list of common instructions, and other important subjects.

This book is the 64-bit successor to Jonathan Bartlett's previousbook, Programming from the Ground Up, which has been a programming classic for more than 15 years.  This book covers similar ground but with modern 64-bit processors, and also includes a lot more information about how high level programming language features are implemented in assembly language.

What You Will Learn
  • How the processor operates 
  • How computers represent data internally 
  • How programs interact with the operating system
  • How to write and use dynamic code libraries
  • How high-level programming languages implement their features 

Who This Book Is For
Anyone who wants to know how their computer really works under the hood, including first time programmers, students, and professionals.

Cuprins

Chapter 1: Introduction.- Chapter 2: The Truth About Computers.- Part I: Assembly Language Basics.- Chapter 3: Your First Program.- Chapter 4: Registers and Simple Arithmetic.- Chapter 5: Comparison, Branching and Looping.- Chapter 6: Working with Data in Memory.- Chapter 7: Data Records.- Chapter 8: Signed Numbers and Bitwise Operations.- Chapter 9: More Instructions You Should Know.- Part II: Operating System Basics.- Chapter 10: Making System Calls.- Chapter 11: The Stack and Function Calls.- Chapter 12: Calling Functions from Libraries.- Chapter 13: Common and Useful Assembler Directives.- Chapter 14: Dynamic Memory Allocation.- Chapter 15: Dynamic Linking.- Part III: Programming Language Topics.- Chapter 16: Basic Language Features Represented in Assembly Language.- Chapter 17: Tracking Memory Allocations.- Chapter 18: Object-Oriented Programming.- Chapter 19: Conclusion and Acknowledgments.- Part IV: Appendices.- Appendix A: Getting Set Up with Docker.- Appendix B: The Command Line.- Appendix C: Debugging with GDB.- Appendix D: Nasm (Intel) Assembly Language Syntax.- Appendix E: Common x86-64 Instructions.- Appendix F: Floating Point Numbers.- Appendix G: The Starting State of the Stack.- Appendix H: ASCII, Unicode, and UTF-8.- Appendix I: Optimization.- Appendix J: A Simplified Garbage Collector.- Appendix K: Going to an Even Lower Level.


Notă biografică

Jonathan Bartlett is a software developer, researcher, and writer. His first book, Programming from the Ground Up, has been required reading in computer science programs from DeVry to Princeton. He has been the sole or lead author for eight books on topics ranging from computer programming to calculus. He is a technical lead for ITX, where his specialty is getting stuck projects unstuck.

Caracteristici

A unique contemporary programming for absolute beginners book that uses Assembly Teaching programming using Assembly makes it easier to learn higher level languages later Assembly programming remains popular topic, especially for maker applications like IoT