Search code examples
assemblyx8664-bit32-bit6502

x86 Assembly Learning Platform


I've been fiddling with assembly, lately, and I've learned a lot. I was using 6502asm.com. 6502asm.com is a javascript assembler and emulator for 6502 assembly. Here's what I like about it: Input and output is very simple and easy to understand. It supplies you with a 32x32 pixel screen, with an address space from $0200 to $05ff. Changing the color of a pixel is as simple as storing a color value (between $00 and $0f) in one of the screen's addresses ($0200 being the top left, and $05ff being the bottom right.) That was a lot of fun to mess around with, but it's 8-bit, and a 32x32 screen doesn't have a lot of room. I was wondering if there's anything like 6502asm.com for 32/64-bit assembly instead of 8-bit. (It doesn't have to be in the browser, just anything that's similar.) Also, I'd prefer if it used nasm, but it's not a requirement. Thanks in advance!


Solution

  • Jasmin helps you learn x86 assembly but it doesn't have any graphical representation. But you can see the registers and memory change as you execute your x86 code.

    If you feel 6502asm.com limited with 32x32 pixels, why not try "the real thing", meaning a macro assembler in an IDE that you can run on an emulator?

    For instance, the following combination:

    • dasm or Kick Assembler, two cross-platforms 65xx assemblers
    • WUDSN IDE, a nice IDE with code completion, error highlighting, bundled as a plugin for Eclipse
    • VICE, an emulator for C64/128, VIC20...

    Of course, you 'll need to learn the intricacies of the target 8-bit machine of your choice, but IMO that's even more fun. On the C64 for instance, you get 320x200 graphics, sprites with collision detection, 40x25 text display. If you get your hand on actual hardware, you might even consider running your program on it.