I'm using a Harris CS80C286-20 CPU.
If I set the access rights byte of the Divide Error Exception descriptor to 0x80 (which indicates a present system descriptor of an invalid type), and then execute the instruction:
XOR BX,BX
DIV BX
This triggers a double fault, but does not push an error code. According to the instructions in the Intel manual (PDF page 172), the 286 processor always pushes an error code (value always zero) on double faults.
I don't understand why this is happening. I don't know if the other 286 is like this.