4

I'm writing a teaching tutorial to teach university students and programming enthusiasts Compilation concepts on an x86.

I want an IDE tool like WinASM for them to be able to debug their work, but am aware that they may not all run Windows at home.

Is my best choice to target Jasmin? (Or have you got a better suggestion - and why?)

Alex Guteniev
  • 12,039
  • 2
  • 34
  • 79
hawkeye
  • 34,745
  • 30
  • 150
  • 304

3 Answers3

3

Another approach I've seen is to use a common teaching architecture (such as MIPS) and run it under emulation. For MIPS in particular, there are lots of interactive simulators (like SPIM), as well as full system emulators (like QEMU). The fact that the MIPS architecture is considerably simpler (and less register-starved!) than x86 is definitely a plus as well -- it means you can spend more time focusing on interesting compilation topics, rather than teaching the architecture.

  • +1 to that. I've found both MIPS and the Motorola 68K to be great assembly languages for students. The latter has been long deprecated, but has some amazing resources for all platforms. The lack of memory segmentation on both is a huge plus (vs x86), as are the RISC instruction sets. Actually, x86 is a terrible language to learn assembly with. Thinking about it, I would strongly recommend considering other alternatives. – Mahmoud Al-Qudsi Apr 24 '12 at 00:36
  • M68K is also a reasonable architecture to try, but it is considerably more complex than MIPS. MIPS also has the advantage of being simple in *implementation* (at a hardware level!), which makes it useful for multiple educational purposes. –  Apr 24 '12 at 01:42
0
Community
  • 1
  • 1
hawkeye
  • 34,745
  • 30
  • 150
  • 304
0

Have you ever considered an online debugging tool? There are a few of them out there. I personally like this asm debugger.

Daan
  • 7,685
  • 5
  • 43
  • 52