18 pointsby rtybanana4 hours ago1 comment
  • rtybanana4 hours ago
    This is a little web app I developed a good while ago now to help people start learning ARMv7 assembly language and to understand how the computer hardware interprets and executes instructions of low level languages.

    The tutorial section should have enough content to get people started. Only a minimal understanding of comp sci concepts are required, so whether you're completely new to programming or are experienced with high level languages and want to understand more about what goes on lower down, this tool is for you! I hope you enjoy it or learn something from it. I certainly enjoyed making it.

    Unfortunately, mobile is not supported since the simulator has a lot of moving parts which describe the state of the simulated computer hardware. I recommend a laptop or larger for the optimal experience :).

    • 20198442 minutes ago
      I played around with it, and it's very neat. This is the first time I've seen an assembly REPL and I wish I had something like this that ran native for playing with unfamiliar instructions.

      I did find a couple minor issues with the simulator: MVN is supposed to be a bitwise NOT but the simulator does a two's-complement negation instead (https://github.com/rtybanana/irisc-web/blob/main/src/interpr...), and it seems negative immediate offsets aren't supported, e.g.

        ldr r0, [r1, #-4]