The reason why I read this book,I'm trying to learn something about assembly.,Upon opening this book one is struck by the author's point of——“If you don't understand something the first time, reread it. If you still don't understand it, it is sometimes best to take it by faith and come back to it later(If you can't understand it the first time, then read it a second time; if you still can't understand it, memorize it and go back and read it again)" captivated and took about 11 days to read from June 30, 2024 to October 11, 2024, taking time off and on during that period.
This is a book about getting started with programming through assembly language (AT&T syntax). A total of thirteen chapters, introduced the basic structure of the computer, assembly language syntax, common instructions, functions, file operations, memory management, optimization and other basic content, although the entire book is only more than 300 pages, but the programming of the various conveniences are also basically covered, and the "The C Programming Language" class of books, like the book, belongs to the very concise book.
Since this is an introductory programming through assembly language book, is it suitable for people with no basic knowledge as an introduction to programming?
My opinion: not so much. The book was published in 2004, when 32-bit computers were common, so most of the instructions used in the assembly code in it are applicable to 32-bit computers, whereas today it's 2024, and most computers are 64-bit, so the two sections on registers, and instructions are slightly outdated - of course. That's not to say that what's in there doesn't make sense, or that the code in there doesn't work. The author of this book has written another book to address this issue in 2021 - Learn to Program with Assembly : Foundational Learning for New Programmers - intervening in time, I haven't yet I haven't started reading it yet, so if you're interested, you should start with the latter book first.
How has this book helped you?
After reading a technical book, you can't just read it and be done with it. What's the takeaway? In my case, there are a few takeaways:
1. Exercised English reading skills.It's a relatively short book, so it's relatively not that difficult to read. It also tries to keep the scope as limited as possible to the technology, and doesn't cover too much of foreign history, humanities, etc. Do not want some books, unlike some books, the beginning of each chapter are quoted in a paragraph of other books - personally I really do not like this style of speech, remove the reading has no impact at all.
2. Mastered AT&T assembly syntax。
3. Learned some great ways of thinking.arguably,This is one of the most satisfying aspects of the book for me,Many of the author's points。I found it very instructive:(1)“If you don't understand something the first time, reread it. If you still don't understand it, it is sometimes best to take it by faith and come back to it later(If you can't understand it the first time, then read it a second time; if you still can't understand it, memorize it and go back and read it again)”。(2)Therefore, the time to optimize is toward the end of development, when you have determined that your correct code actually has performance problems(Optimize towards the end of development, as this has established that the code is correct and also that it does have performance issues)。(3)As a programmer, you will need to be
prepared to be constantly learning and pushing your limits。
Last but not least, I would like to recommend Ms. Guo Qingxia's Chinese translation ofDeeper Understanding of Programming: Using Linux assembly language ", after reading the English version, went to see the Chinese version, the Chinese version of the translation quality is very high, do not want to see the English version, you can look directly at the Chinese version.
bibliography
1. Programming
(1)Jonathan Bartlett,《Programming From The Ground Up》:/subject/1787855/
Welcome to search and follow: programmers (a_codists)