Nov-14: There is an error in my vmsim.c code! Specifically, in both vmsim_read_real() and vmsim_write_real(), there is an assertion that reads:
assert(end < real_limit);
This is wrong! real_limit is the address of the first byte after the real space, while end is the address of the first byte after the sequence of bytes to be read/written. That is, they're both markers of just-beyond-the-last, and so if they're equal, then the operation still falls within the range of the real space. So in both places, the assertion should be:
assert(end <= real_limit);
Nov-03: I've found a meaningful use for Moodle! Specifically, I've posted my solutions to the first four projects on the course Moodle page. Take a look.