Resource icon

ASM-Interpreter DS 1.0

This is an assembly interpreter written in C for the Nintendo DS.
I created this project entirely from scratch as a way for others to
learn to program in a basic assembly language in a portable manner.
Using the top screen of the Nintendo DS/DSi, you can view the
memory and registers of the interpreter live. Using the right arrow
key, you can go through your program line by line and watch it update,
or you can press the B button to have it perform your full program
without any pauses. I have included some simple test files with
this program.

Controls:

A for confirmations, B for canceling.

When running a program, press B to run the program all at once, or use the right button on the DPad to go through command by command.

The keyboard can be used to type in filenames, as well as arguments. Argv is supported as well!

The download link can be found at https://github.com/gemisis/ASM-Interpreter/raw/master/ASM-Interpreter-DS/ASM-Interpreter%20DS.rar
For those interested in the source code, it can viewed at https://github.com/gemisis/ASM-Interpreter
There is a compiled version there and attached here on this post. Enjoy! :)

Here are a list of opcodes that can be used:

add reg1, reg2 - Adds 2 registers and stores the results in AC. Example: add r1, r2
sub reg1, reg2 - Subtracts reg2 from reg1 and stores the results in AC. Example: sub r1, r2
mul reg1, reg2 - Multiplies reg1 and reg2 and stores the results in AC. Example: mul r1, r2
div reg1, reg2 - Divides reg1 by reg2 and stores the results in AC. Example: div r1, r2
mod reg1, reg2 - Performs the modulus function on reg1 with reg2 and stores the results in AC. Example: mod r1, r2
store mem1, reg1 - Stores reg1 in mem1. Example: store m1, r1
load reg1, mem1 - Loads reg1 with mem1. Example: load r1, m1
copy reg1, reg2 - Copies reg1 to reg2. Example: copy r1, r2
jmp label - Jumps to the chosen label. (label needs quotes around it) Example: jmp "labeltitle"
set reg1, val - Sets reg1 with the value val. Example: set r1, 42
jne reg1, label - Jumps to the label if reg1 does not equal AC. (label needs quotes around it) Example: jne r1, "labeltitle"
jeq reg1, label - Jumps to the label if reg1 equals AC. (label needs quotes around it) Example: jeq r1, "labeltitle"
cmp reg1, reg2 - Compares reg1 and reg2 and stores the results in AC. (0 if equal, -1 if reg1 < reg2, and 1 if reg2 > reg1) Example: cmp r1, r2
print reg - Prints the register as an integer value. Example: print r1
printc reg - Prints the register as a character value Example: print r1
getc reg - Gets a character from the keyboard and stores it in the register. Example: getc r1
mov reg1, reg2 - Moves register 2's value to register 1. Example: mov r1, r2
mov reg1, #N - Moves value N to register 1. Example: mov r1, #0xff
labels are defined with a colon at the end (no spaces between). Example: labeltitle:
A # sign can be prefixed to all number values.
General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    Crazy people actually spend $50 on that stuff
  • BigOnYa @ BigOnYa:
    Towelie runs my farm, he's awesome.
  • SylverReZ @ SylverReZ:
    @K3Nv2, Polly is still around from what I've heard.
  • K3Nv2 @ K3Nv2:
    @SylverReZ, is Pollys alt I knew it
  • BigOnYa @ BigOnYa:
    Yea I see him every once whi!e , incognito
  • SylverReZ @ SylverReZ:
    @K3Nv2, I'm not him. Keep looking.
    +1
  • K3Nv2 @ K3Nv2:
    Still don't know why he left unless someone really hurt his feelings
  • K3Nv2 @ K3Nv2:
    Don't know why people get so emotional online just get over it ffs
    +2
  • BigOnYa @ BigOnYa:
    He was the ass of gbatemp, everyone knocked on him, I honestly felt bad, even though I was guilty myself, but he egged it all on himself,
  • BigOnYa @ BigOnYa:
    But he still here, but under dif name, he pm me sometimes still even.
  • K3Nv2 @ K3Nv2:
    It's like they think we'll be in their bed pissing on it the next day
  • BigOnYa @ BigOnYa:
    I feel like gbatemp should make t-shirts or memorabilia to remember the lost ones. I bet the Polly shirts would sell out quick.
  • K3Nv2 @ K3Nv2:
    Nah that could actually bring lawsuits
  • K3Nv2 @ K3Nv2:
    Tempsuits
  • BigOnYa @ BigOnYa:
    PollySuits
  • BigOnYa @ BigOnYa:
    Your correct, Somebody would be guilty and there would be riots, then they storm the gbatemp capitol,
  • K3Nv2 @ K3Nv2:
    Online or not there are still certain rights that judges would have no issue handing out a warrant over
  • K3Nv2 @ K3Nv2:
    Just look at Kim dotcom
  • BigOnYa @ BigOnYa:
    Honestly I'm scared to, from you, but ok, lemme turn on vpn, virtual machine, private browser first
  • K3Nv2 @ K3Nv2:
    Remember that Alexa robot I gifted you
  • K3Nv2 @ K3Nv2:
    And that laptop Webcam you never tapped up
  • BigOnYa @ BigOnYa:
    That robot is here somewhere, I hear it moving around at night, but I haven't seen it for months.
  • BigOnYa @ BigOnYa:
    Oh that laptop I give to ancientboi, so you been watching him for months, and he's been watching you
  • K3Nv2 @ K3Nv2:
    Oh good more than enough material for the fbi
    +1
  • BigOnYa @ BigOnYa:
    Damn its 5 in morn, I gotta Go wake your mum and send her to work. Check ya later.
    BigOnYa @ BigOnYa: Damn its 5 in morn, I gotta Go wake your mum and send her to work. Check ya later.