Monday 19 October 2009

Simple Mario World!

Ok, so we have been looking at assembly programming language this week. After being put into the NES group when we took apart consoles in week 2, I thought I would look more into code from a NES game. I thought I might as well go for one of the biggest and most well known:

After downloading Tracer, a disassembler for the NES and running the game through that. I was left with many lines of code along the lines of:


This is in a way completely different to the MIPS language used on the PSP we are looking at in tutorials. The lengths are different at different points for one thing. The hex codes at the end of the line are also copied to the point after the memory adress (though not always in the same order), which seems to only use odd values.
Without knowing anything about this language, you can guess at some points. For example I would assume ASL to be a 'Shift Left', as it doesn't have any hex after it to reference a place in memory.
LD would be load, with the next letter used to specify what is being loaded or how.
ST could possible be the same for store, though without knowing the language in depth I wouldn't know for certain.

It is interesting how this differs to the MIPS language we are learning to handle, though I will not look too much into this so to focus on the work in class.

No comments:

Post a Comment