A few days ago, I got an idea. I have learned the ASM of some 8-bit CPUs, namely the 6502 and Z80. What about learning a new Assembly language? Such as the Motorola 68000, or the Intel x86?
Of those two, I chose the latter. I have heard from various sources that knowledge of x86 ASM is pretty much a must for any professional programmer. Although you don't usually create large programs in Assembly on the PC, it is a good idea to have at least a basic understanding of x86 ASM because it can help you in debugging your programs, which you would typically create using C++.
x86 AssemblyI must say that machine language on Intel's CPUs looks very pleasant to my eyes. It reminds me of Z80 Assembly quite a bit, which is certainly a plus. Take the in (Input from port) and out (Output to port) opcodes for example. Sound familiar? Yep, you had such instructions on the Z80 too. You also have nop in x86 ASM. This No OPeration opcode seems to be in every single microprocessor. It can be found in the 6502, Z80, M68k and x86.
The x86 also has call and ret opcodes. If you know what these opcodes do on the Z80, you also know what they do on the x86.
All in all, Assembly on the x86 CPU is very pleasant as I mentioned earlier, and it might become my new favourite at some point. I won't make a long blog entry this time, but I will probably write more about the x86 another day. I wrote this entry quite late at night after a long day of university and after quite a bit of experimenting with x86 ASM, needless to say! :) I want to get back to x86 coding as soon as possible.
Keep an eye out for updates on my blog. Thanks for reading, and keep coding in Assembly, it is super kewl!
Bye for now!