This is a great book, but not everyone will like its style.
Having worked with programming and microcontrollers for decades, I may not be the intended public for this book. It is clearly aimed at the classroom. The subject is divided into small pieces and each chapter follows the structure of objectives, introduction, exposition (with many examples), summary, points to remember, and review questions (evaluate yourself, search for answers, and think and solve). If you are impatient, you may get bored by this (I skipped quite a few pages).
In some places, I found the chapters' divisions a bit too harsh (for example, why not explain multiply and divide with the other arithmetical instructions?).
I also find curious the few times he compared the 8051 to the 8085. The 8085 was the first microprocessor I programmed professionally, but that was back in 1981!
A minor annoyance is that the text would benefit from a revision by a native English speaker (yes, I know this may sound strange coming from a person whose primary language is not English).
Anyway, you will still find today microcontrollers based on the 8051 instruction set, and this book covers a lot of ground so I do recommend this book (along with a little patience).