[comp.sys.ibm.pc] DEBUG bug causes EXCEPTION 13

mch@ukc.ac.uk (Martin Howe) (06/10/89)

[various stuff about debug being buggy]

> Go into DEBUG and enter and *trace* through the following instructions with
> DEBUG on an 80286 or 80386 based system:
>
>           MOV   BX,FFFF
>           MOV   AL,[BX]

>>>segment overflow trap which hangs the machine!

This fault (not trap) occurs in protected mode as the General Protection Fault
which occurs when ANY exception condition happens that isn't covered by any
other exception vector.  In real mode (ie., A-Mess Doss) this means
attempting to access a word (and on the 386, a double word as well) at 
offset $FFFF within a segment.

>You can thank [IBM actually] for this behaviour because they used Intel 
>reserved interrupts for their own purposes [BIOS]. 
>Any interrupt under 20h is reserved by Intel for future architectural
>enhancement.

>I think the interrupt that occurs in this case is a disk I/O BIOS.
YES, that's what it is. (Also, interrupt $10 is also a weird one.
Are you clearing the screen, or did you just load a NAN ? Who can say ?)

For similar reasons, the Intel 80186/8 is a notoriously IBM in-compatible chip,
as it also has some reserved I/O addresses for DMA and timers.

This is a pity, bcause the 80186 is a nice chip (for 16 bits and modulo Intels
abysmal pre-386 "segmentation"); and the incompatibilities are, needless
to say, IBM'S FAULT.

(BTW, I wonder if Intel should have trademarked the `180' prefix for CPU with
IO ? Everyone seems to be ripping them off with all these Z80 clone chips
coming out of the woodwork).

Oh well. Hope this sheds some light on the matter.

Regards,                                                   (OS/2: Just Say NO !)
-- 
Martin Howe                  (This posting is private, and NOT on behalf of UKC)