Microcorruption 0x00 - Tutorial

Next: 0x01 New Orleans

There should be no surprises in this tutorial (which will guide you from start to finish), but there are two things worth calling out if you are coming from X86 Assembly:

  • The assembly language used here is MSP430, a brainchild of Texas Instruments. You can find the instruction set summary here, but I wouldn’t bother with referencing that just yet as your X86 knowledge should translate very well. The major benefit of MSP430 is that it is 16-bit, with instructions and registers that are half the size of X86, and a quarter of the size of its 64-bit counterpart, X64. The only part that may trip you up is the syntax – it’s more akin to AT&T than Intel, as instructions are in “Instruction Source, Destination” format rather than “Instruction Destination, Source.” 
  • The register names. There are four named registers and twelve general-purpose registers. For now, you can concern yourself only with “sp,” which is the counterpart of “esp,” and “pc,” which is the counterpart of “eip.” These registers can also be viewed in the Live Memory Dump section of the debugger.

The Tutorial level provides plenty of guidance, so step through and you’ll likely find that you are already very comfortable. If not, consider brushing up on assembly and debuggers in general, but don’t sweat the MSP430 language itself. The nuances of that language are not important for these initial levels, and likely not too important anywhere outside of this site.

Next: 0x01 New Orleans