Skip to content

Commit

Permalink
Merge branch 'master' into debugger-disassembly-improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
joncampbell123 authored Jul 25, 2023
2 parents 5e7426f + 4df8ee1 commit fc69976
Show file tree
Hide file tree
Showing 5 changed files with 372 additions and 238 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,14 @@ Next
- Fix IMGMAKE large size image error on MinGW builds (maron2000)
- Set usescancodes=true when non-US keyboards are detected. (Linux / MacOS
builds) (maron2000)
- Fix day of week detection (INT 21h 0x2Ah). (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)
2023.05.01
- IMGMAKE will choose LBA partition types for 2GB or larger disk
images, but the user can also use -chs and -lba options to override
Expand Down
3 changes: 2 additions & 1 deletion src/debug/debug.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,8 @@ uint64_t LinMakeProt(uint16_t selector, uint32_t offset)

if (cpu.gdt.GetDescriptor(selector,desc)) {
if (selector >= 8 && desc.Type() != 0) {
if (offset <= desc.GetLimit())
if ( (!desc.GetExpandDown() && offset <= desc.GetLimit()) ||
( desc.GetExpandDown() && offset > desc.GetLimit()) )
return desc.GetBase()+(uint64_t)offset;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/debug/debug_disasm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1046,7 +1046,7 @@ static void percent(char type, char subtype)

switch (type) {
case 'A': /* direct address */
outhex(subtype, extend, 0, addrsize, 0);
outhex(subtype, extend, 0, opsize, 0);
break;

case 'C': /* reg(r/m) picks control reg */
Expand Down
Loading

0 comments on commit fc69976

Please sign in to comment.