Jump to content

Would learning how to program at a low level help me better understand CPU/Microcontroller?

Featured Replies

I want to better understand CPU architectures, and learn to program at the same time. My goal would be to learn how the CPU manipulates data at the lowest level(I/O, computations, etc), and so I thought maybe learning how to program at lower levels(assembly, or directly on simple micro-controllers) would be a good way to understand. What is your opinion? What would you recommend?

 

 

I figure someone in the CS field would have the best advice. Thanks

I love assembly language programming and Yes, I'd recommend you to learn assembly language programming to clearly understand CPU architectures like 8086/8085. Every architecture has its own instruction set and registers to deal with the data and its manipulation and its very useful for embedded systems.

I personally started with machine code on a Z80 processor, first on my Heathkit H89 and then my Sinclair ZX80. Later on I moved to assembly on the Commodore series of computers. I can say it has helped me to understand higher level languages better than I might have.

You will clearly understand how data is manipulated at the lowest level.

Thanks for your input. I was thinking of purchasing something like The Art of Assembly Language because it had great reviews , but then I seen people complaining how it uses HAL and isn't a "true" assembly language. So would something like Introduction to 80x86 Assembly Language and Computer Architecture be a better choice?

 

Thank you again for your replies

 

 

I'd recommend Microprocessors and Interfacing: Programming and Hardware by Douglas V Hall. I studied from this book and was easy for me once I got hold of the instruction set and the registers. And also install MASM in your pc to do assembly language programming, only when you start writing programs you'll see the fun in it.

  • Author

Thank you, I'll buy that book and give it a try, thanks everyone for your time.

Edited by historian3x

Last semester, I opted out of a class on C and assembly to take a higher level machine learning course. I'm still not sure it was the right decision. But day to day, getting closer to machine code is not necessarily useful anymore

Archived

This topic is now archived and is closed to further replies.

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.