Learn to Program with Assembly: Foundational Learning for New Programmers (Paperback) (用組合語言學習程式設計:新手程式設計師的基礎學習)
Bartlett, Jonathan
買這商品的人也買了...
-
$1,767$1,674 -
$2,280$2,166 -
$3,500$3,325 -
$1,665Sams Teach Yourself C++ in One Hour a Day, 9/e (Paperback)
-
$2,450$2,328
相關主題
商品描述
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 previous book, 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 ForAnyone who wants to know how their computer really works under the hood, including first time programmers, students, and professionals.
商品描述(中文翻譯)
許多程式設計師的效率受限於對電腦內部運作的深入理解不足。在《學習組合語言程式設計》一書中,您將學習組合語言程式設計 - 這是電腦本身的語言。
組合語言通常被認為是一門困難且神秘的學科。然而,作者Jonathan Bartlett以一種對於初學者和專業人士同樣適用的方式呈現了這些內容。無論您是第一本程式設計書,還是想要深入了解您所使用的電腦的專業人士,這本書都適合您。本書教授在Linux操作系統上運行的64位x86組合語言。然而,即使您不運行Linux,提供的Docker映像也可以讓您在Mac或Windows電腦上使用。
本書從非常簡單的程式開始,幫助您建立基礎,並逐步深入每一章節。在第一部分結束時,您將熟悉處理器上大多數基本指令,這對於任何任務都是必需的。第二部分涉及與操作系統的互動。它展示了如何調用標準庫,如何直接向內核發出系統調用,如何編寫自己的庫代碼以及如何處理內存。第三部分展示了現代程式語言功能(如異常處理、面向對象編程和垃圾回收)在組合語言層面上的工作方式。
此外,本書還附帶了幾個附錄,涵蓋了各種主題,例如運行調試器、向量處理、優化原則、常見指令列表和其他重要主題。
本書是Jonathan Bartlett先前的書《從基礎開始的程式設計》的64位版本,該書已成為程式設計的經典之作超過15年。本書涵蓋了類似的內容,但使用現代的64位處理器,並且還包含了更多關於高級程式語言功能在組合語言中實現的信息。
您將學到什麼:
- 處理器的運作方式
- 電腦內部如何表示數據
- 程式如何與操作系統互動
- 如何編寫和使用動態代碼庫
- 高級程式語言如何實現其功能
本書適合對於電腦內部運作真正感興趣的任何人,包括初學者、學生和專業人士。
作者簡介
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.
作者簡介(中文翻譯)
Jonathan Bartlett 是一位軟體開發者、研究員和作家。他的第一本書《Programming from the Ground Up》已成為從 DeVry 到 Princeton 的電腦科學課程的必讀教材。他是八本書的唯一或主要作者,涵蓋的主題從電腦編程到微積分。他是 ITX 的技術主管,專門解決卡住的專案。