* DebugR fix: debugger assumed a 32-bit ring0 SS register on init; if this wasn't true, a crash may have occured. * fix r cmd: the disassembler tried to show memory contents for the LEA instruction - this may have caused a GPF. * DebugX fix e cmd, prompt mode: segment part changed to scratch sel after first line in protected-mode if it was a r/o selector. * fix e cmd, prompt mode: '-' after byte input did skip that input. * fix u cmd: address size prefix 67h for string instructions. * fix n cmd: names > 128 chars may have modified debug's code seg. * fix l & q cmd: failure of debuggee termination was ignored and the command continued, leaving an orphaned debuggee in memory. * fix a cmd: regression since v1.18: "call/jmp [mem_ref]" without a size given did default to a far call/jmp. * fix u cmd: operand size prefix 66h for 8/16/32-bit relative jmps. * fix a cmd: NEar qualifier was accepted/ignored for immediate far jmp/call. * u cmd, call far [mem]: qualifiers "FAR"/"DWORD FAR" changed to "FAR16"/"FAR32". * DebugR(L): Q cmd may be activated for this variant. * cmds bp/bc accept up to 4 permanent breakpoints. * cmds bp/bc implemented, but inactive for Debug & DebugX; activated in DebugXg & DebugXv variants. * G/T/P cmds: if possible, 386 debug registers will be used to set temporary breakpoints. Active for DebugX, DebugR(L). * new cmdline options /s and /v for debugger variants that may use hardware breakpoints ( option /v not for DebugR(L) variant ). * g cmd: if a breakpoint cannot be written, the cmd is aborted. * Debug & DebugX may now be created in .exe file format. * mktables.c: creates ASMTBL.INC/DISTBL.INC instead of DEBUGTBL.INC. * cmds a, u: instruction RDTSC added. * another variant of DebugR - DebugRV, with support for V86 mode. * DebugR(V) dt cmd: optionally displays trapped ports. * DebugRV di cmd: displays IDT & IVT vectors. * DebugR rn cmd: won't run cmd if CR0.EM is set.