The recommended star rating for this book is: 5 stars. After all, it is a classic book, Nothing to say.
As far as the Assembly itself is concerned, the preparation of high-efficiency programs and the optimization, commissioning, and reverse engineering of the project is a foundation; in terms of the theoretical operating system, the assembly lets you understand the CPU, understand the architecture of the computer, it is the premise of reading the operating system source code, which is also "80x86 Assembly language Programming Tutorial" Do better, it is 386 of the protection of the programming under the written more detailed, read the whole book, will find that this learning is not only assembly language, and CPU architecture, it gives you a basic guess in writing a 80386CPU-based operating system, probably do something.
Before reading, I chose a few books: Wang Shuang's "assembly language", "80x86 Assembly language Programming program" and "IBM-PC Assembly language Program Design", the first book preliminary over a bit, too simple, direct discard, and the third book is biased to the direct operation of the hardware, visual inspection is more, I estimate will be more boring, and " 80X86 assembly Language Programming Tutorial "from 8086, the latter 80386 will be related to the modern CPU working mode, this became the reason I chose it."
Now let's talk about what you can learn from it:
1) You can see how the computer hardware resources are organized in memory
2) You can understand what is called the BIOS
3) You can bypass the operating system and the BIOS to operate directly on the hardware, such as video card
4) You can understand the CPU from the perspective of how the computer manages resources, how to switch tasks, how to change the privilege level, how to do the exception/interrupt processing, which is reflected by the code dripping
5) You can understand debug mode, now debug tool called Single Step, run to return, hardware breakpoint exactly what is going on
6) You can understand the entire transformation process of the logical address to the linear address to the physical address, which is what the operating system must say
There are several suggestions on how to read this book:
1) 8086 chapters you have to focus on the 8086 directives, including what they do, because 386 instruction sets are compatible with their
2) 8086 chapters to pay special attention to the interrupt and I/O Management section, this is learning 8086 apart from the last point on the 386 most important point
3) 8086 chapter of the development of assembly language, such as what high-level assembly, module design, and so on, do not delve into, now the basic assembly language, this kind of thing when using the same time, otherwise do not, learn will also forget
4) 80386 is the focus of the key, each chapter is important, do not let go of any test instance, be sure to test it yourself, and understand each of its statements
5) 80486 and Pentium related to the relatively few, in fact, these processors are very outdated things, do not go tangled on any particular processor based on the details of the problem, just understand
6) 80486 has two key points, one is on-chip cache, one is the debug technology completely moved to this chapter
It should be recalled that this book is also a bit flawed, which is a number of points to note:
1) The author of the Theory and light practice, which he does not specifically in the build test environment to do the explanation can be seen, this particular deceptive, I have not found a good debugging method, the virtual machine can not be used in the debugger debug mode switch, Unless you are writing debugging related content in your code (you will be able to walk through the code with the ability to step through the debug register), and learn that the whole book is almost finished.
2) I use the radasm and vmware+dos7.1 to build the test environment, the author uses tasm, so the syntax is somewhat different, the most typical is the length of the calculation section, I have always been in the notes that the author logic error.
3) The original book in the theory of the above is almost nothing wrong, I think even if a little mistake maybe I can not choose this level. But sometimes it is not detailed enough, such as the control of the transfer of the CPL, DPL, rpl the relationship between the 3, these deficiencies must be through the source code to compensate
4) Source code error, I do not understand tasm, some may be tasm and MASM differences rather than errors, and some are really logic errors. In addition, some of the features can not be tested correctly, it may be my test environment to build a problem, there may be now the core processor and 8086 and 80386 of these antiques have a difference.
5 Finally, after all, is a more than 10-year old book, the specific characteristics of the processor is a bit outdated, so in the last two chapters: 80486 and Pentium System introduction, in addition to debugging technology, like cache technology, pipeline technology and program optimization technology to do some conceptual understanding is enough, All specific details based on Pentium may no longer be available in the current CPU.
"80x86 assembly Language Programming Tutorial" 25 conclusion (reading: How about this book)