diff --git a/CHANGELOG b/CHANGELOG index 23451c75852..92fab76b367 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -47,6 +47,9 @@ Next builds) (maron2000) - Fix day of week detection (INT 21h function 0x2Ah). (maron2000) - Refine KEYB and CHCP command (maron2000) + - Use segment descriptor's big flag (if present) when disassembling code in + the debugger code view (cimarronm) + - Add decoding of rdmsr/wrmsr instructions to disassembler (cimarronm) - Fix disassembly for far jmp/call decoding (cimarronm) - Fix memory limits on expand-down segment descriptors (cimarronm) - Bump tinyfiledialog to ver 3.13.3 (maron2000) diff --git a/src/debug/debug.cpp b/src/debug/debug.cpp index f59e7adecdb..4cf19ef016f 100644 --- a/src/debug/debug.cpp +++ b/src/debug/debug.cpp @@ -1295,7 +1295,12 @@ static void DrawCode(void) { Bitu drawsize; if (start != mem_no_address) { - drawsize=size=DasmI386(dline, (PhysPt)start, disEIP, cpu.code.big); + Descriptor desc; + + if (cpu.gdt.GetDescriptor(codeViewData.useCS, desc)) + drawsize=size=DasmI386(dline, (PhysPt)start, disEIP, desc.saved.seg.big); + else + drawsize=size=DasmI386(dline, (PhysPt)start, disEIP, cpu.code.big); } else { drawsize=size=1; diff --git a/src/debug/debug_disasm.cpp b/src/debug/debug_disasm.cpp index cfe18ec4a07..46fd1d7b960 100644 --- a/src/debug/debug_disasm.cpp +++ b/src/debug/debug_disasm.cpp @@ -290,7 +290,7 @@ static char const *second[] = { "%x0", "%x0", "%x0", "%x0", "%x0", "%x0", "%x0", "%x0", /* 3 */ - 0, "rdtsc", 0, 0, + "wrmsr", "rdtsc", "rdmsr", 0, "sysenter", "sysexit", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,