Raspberry Pi Assembly Language Programming: ARM Processor Coding
G**D
Takes some work to follow it.
I found it difficult to follow the text. I had to create my own graphic's to supplement the book. My experience in the 60's and 70's with TI and Z-80 processors using machine code didn't help me a lot in this book. My work experience as a industrial controls engineer in both the steel industry and the automotive manufacturing industry doesn't really help in the architectural understanding at the bit level. However I am still digging away in the book. Hopefully it will become clearer as I work my way through the examples on my Raspberry Pi 4.I have no doubt that Stephen Smith is a very accomplished software engineer but I think the book could use some organization at the beginning to help get the reader off on a running start. As an example, some line item instructions on how to build the program: a suggested name; steps to write the Makefile, the form to put the Makefile lines in with a basic explanation of the steps, and the terminal steps to run the program. I spent several days reading up on the GNU's Makefile. It was a new experience for me. Good stuff. I made up my own recipe for the process. It's like a fill-in-the-blanks form. It's difficult to learn if you can't get the program to run.The hex to binary conversion to deduce the opcode also needs a clearer presentation. The fact that the high bit of the opcode comes from the low bit of the 7th byte and the 3-lower bits comes from the 6th byte is a bit confusing, pun intended. :) I have a graphic to help me here.However, I do like the book. It is the best one I have found to date.
T**Y
Good beginner to intermediate book
A long time ago I was a mainframe systems engineer. And when I coded (very elegantly, I might add), I coded in Assembly language. So I know the concepts, all of which were presented accurately in this book. (I've already had many epiphanies, like the difference between machine instructions and assembler directives... So, I've had a head start.)This book is very well written and covers everything you need to "get your feet wet." I will probably never need to code in Assembly language for the Pi, but after reading this book, I think I could, There are some things missing (like why a HelloWorld executable, written in Assembly language and statically linked on a 32-bit system, runs successfully, without reassembly, on a 64-bit Raspios system.) But that doesn't detract from the book. I would also recommend "Programming with 64-bit ARM Assembly Language" by the same author, Stephen Smith. Also well written.Cudos to the author.
B**P
Excellent Text for Teaching Assembly Language
I use this in teaching assembly language. The ARM processor in the Raspberry Pi is far simpler than the Intel processor. It is also possible to interact with sensors and actuators via assembler. The is also good coverage of interaction with C and line by line comparison between C and assembler.
C**Y
So far so good. Very nice layout, easy straight forward instruction.
So far so good. Very nice layout, easy straight forward instruction. Also arrived right on time.
D**R
Great techical book!
Great book for the those comfortable at the hardware level and looking for a deep dive into the Raspberry Pi. One minor note: On page 155 the description of the mmem2 service call omits the R3 flag parameter. Use R4 for the fd and R5 for the memory address, not R3 and R4.
D**E
Hard core geek stuff
Very educational
K**N
Pretty good book.
Informative.
J**E
The OG Programming - Assembler - and on Raspberry Pi !!!
My early experiences with Assembler were fun, but short lived. I did some on 8080 and 6502 chips. Then came the x86, which really soured me on the whole idea. My career took me in a different direction, but I always intended to do assembler again, some day.Fast forward to modern times, and I'm doing a home automation project on the Raspberry Pi, and this book comes along - I couldn't pass it up. It has not disappointed.
M**I
Great
Great if you want to really get under the hood with the raspberry pi. Clear and concise explanations of code, nicely presented.
S**2
Insufficient Coverage, and you are thrown into the code.
There are some things I liked about this book, so I found it useful, but it left out way too many topics that could easily have been covered with just 100 more pages if it was organized well. I use this book with some of it tips and ways of doing things as adjunct to a more complete book, such as Dunne's. I appreciated especially that it concentrated on code rather than ceremony, but, for example, when I was looking at one of the conversion programs, I had to kind of completely re-code it in order to learn how it works. I had to grab a section, code it until I understood it, and then start a new program with another section. So you are thrown into the code in some programs, and you really have to analyze them to understand how they work, especially if you are intent on being able to reproduce such a program yourself from your own knowledge, which I think, is the whole point, for me. I appreciated his use of makefiles and ways that developers actually develop. Most books seem afraid to introduce this, but he does it very painlessly, and even gradually. I also found that the interactions with C to be useful. I think a fairly objective assessment of this book is that almost all of its content consists of about three or four assembly programs that you kind of have to figure out for yourself. Even though they are explained, it's a bit much to take it all in at once in one program. There's little else to this book. The chapters on Neon, Thumb and 64 bit seem to be essays with little practical value, and probably could have been left out; and could have saved space for some code concepts and example that could actually be used. As a nit-picking gripe, the section on multiplying left me with an impression that there are many, many ways to do multiplication and I'll explain them in detail and take up a lot of your time, but don't use them, just use these few ways. I'd miss this book if I didn't have it, but it's not the way to learn assembly, but is helpful to be used with another book that will teach you assembly.
Trustpilot
2 weeks ago
2 months ago