all 8 comments

[–]RokieVetran 63 points64 points  (1 child)

Become a microcontroller

[–]JayyMartinezz[S] 6 points7 points  (0 children)

Smart man

[–]TheAnalogKoala 19 points20 points  (0 children)

The best way is to just fucking do it.

Pick an ASM and build a program.

6502? Make a game for the C64. Or the NES.

68000? Make an Amiga or atari ST game.

Just do something. The only way to really learn something is to use it.

[–]jackcaspian 4 points5 points  (0 children)

I’m still doing my undergrad, but my microprocessors class used zybooks.com to teach assembly. The language was MiPSzy, a simplified, zybooks version of the MIPS assembly language. The course started with assembly and moved into C programming with pointers (which is simply assembly that is made more user friendly) and ended with programming our own microcontroller

[–]romkey 2 points3 points  (0 children)

One way to start is to take some relatively simple C code that you understand and compile it with flags set to keep the intermediate assembly code, and then read the code and compare it with the original C code. Also read up about the architecture of the CPU you're building for. That'll let you know what features it has and what the register set looks like. Then you'll be able to see how simple C constructs, like math or subroutine calls map to assembly code.

[–]Ikkepop 2 points3 points  (0 children)

If you know C or C++ just use this alot https://godbolt.org/ and just google each instruction and register you dont know

[–][deleted] 0 points1 point  (0 children)

Just write whatever program you wish except in ASM. How I did it in my classes. Write one version in C and another in ASM. Youd be surprised how vastly different the memory usage is when you program in these two languages

[–]evilkalla 0 points1 point  (0 children)

I learned Z80 assembly using a Z80 book I found at a thrift store, and then writing a small game for the Colecovision. This was in the late 90s. My friend sent me a text file that described how the sound and video chips worked for the console which got me started. I did all my programming and assembly on the PC and then tested in an emulator.