Are you sure it was a segfault? DOS did not have any memory protection, so segfault would be impossible. Or maybe you used some protected mode DOS extender?
My memory is getting a little fuzzy. I think the machines we were using were running Windows 98 or perhaps Windows 95. But I didn't want people to be able to do other things on the computers that day as the whole point of the endeavor was to emphasize typing skill, so I looked for some kind of way to make it impossible to do ALT-TAB to switch to a different program. I was thinking I booted it up in DOS only but I also might have run it full screen in Windows and just hoped nobody knew about ALT-TAB. :P
What happens if you try to read from a null pointer in DOS?
You get what is at 0x0000 ?
I haven't actually tried this, but based on my understanding of the MS-DOS memory model it should read the contents of memory at address 0.
This is correct, and address 0 is the start address of the interrupt vector table, so there are good reasons why you might read from it.