you are viewing a single comment's thread.

view the rest of the comments →

[–]SoCo 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (0 children)

A RISCky perspective...

I cut my teeth learning ASM with PIC micro-controllers. They use the dead simple RISC (Reduced instruction set) architecture, leaving there only like 30-ish ASM instructions to deal with.

I took to it pretty easily and felt like I got a good fundamental understanding of ASM programming, registers, stacks, and low level stuff out of the experience.

Yet, the PICs I used were 8-bit and didn't have multiply or divide instructions. This lead to another level of fundamental learning as I implemented my own multiply/divide functions using bit-shifting and add/subtracting and multi-byte math functions. Dealing with code-paging was an insightful pain as well. (jump instructions only fit part of the destination address and you must manually flip the high bits of the address in a register first)

As more options for micro-controllers and their supporting libraries/tool-chains came about, I've moved on and not used ASM or PICs in quite a long time. (I mainly focus on AVRs with C/C++ and embedded Linux devices now)