I’ve written two introductory-level books about computer hardware and how it’s programmed. One is based on the Intel/AMD x86-64 instruction set, the other on the ARM instruction set used on the Raspberry Pi.
I’m doing an extensive rewrite of both books. They’ll be available at No Starch Press. We’re aiming for September 2021 to publish the x86-64 version, and then we’ll start on the ARM version.
Meanwhile, you can read the original versions of Introduction to Computer Organization with x86-64 Assembly Language & GNU/Linux and Introduction to Computer Organization: ARM Assembly Language Using the Raspberry Pi online. I don’t charge for this, but be aware that you may need to pay connection fees on your end. If you want to buy your own copy of the original x86-64 version, I have self-published it both in paperback and in PDF formats.