fixes a bug in exception handling in v8086 mode
Here are comments from the author:
Since the bug of bochs-2.0.win32 was found and
corrected, it reports. cpu/exception.cpp of src : Within
an interrupt() function, when present is the V8086 mode,
a bug is in the portion which processes 386 (286)
int/trap gate. From the V8086 mode, this portion is
performed, when it is going to execute an int imm
command. The portion in which push_32 () is called in
the state of VM=1 is still a mistake. Although this
push_32 () tends to write in to the stack of a protected
mode, if it is still VM=1 of EFLAGS, the
write_virtual_dword() function called out of push_32 () will
take out a segment protection exception. After
performing clear_VM() etc., it is necessary to make it
call push_32 () correctly, since EFLAGS is saved locally.