Debugger: 2.9.1.5 Added: Disassembly window now shows signed decimal values for immediate values.
This commit is contained in:
parent
aaae1dd6a1
commit
65ab105d76
8 changed files with 38 additions and 16 deletions
|
@ -1,6 +1,8 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
2.9.1.3 Added: DB command now optionally supports =
|
2.9.1.5 Added: Disassembly window now shows signed decimal values for immediate values.
|
||||||
|
2.9.1.4 Changed: Show symbol warnings in Orange, and length of symbols in light blue.
|
||||||
|
2.9.1.3 Added: DB commanoptionally supports =
|
||||||
DB HGR = 2000:3FFF
|
DB HGR = 2000:3FFF
|
||||||
2.9.1.2 Fixed: Off by one end address when deleting DisasmData_t
|
2.9.1.2 Fixed: Off by one end address when deleting DisasmData_t
|
||||||
2.9.1.1 Added: X command now supports a range and will chop off the appropiate data sections.
|
2.9.1.1 Added: X command now supports a range and will chop off the appropiate data sections.
|
||||||
|
|
|
@ -51,7 +51,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#define ALLOW_INPUT_LOWERCASE 1
|
#define ALLOW_INPUT_LOWERCASE 1
|
||||||
|
|
||||||
// See /docs/Debugger_Changelog.txt for full details
|
// See /docs/Debugger_Changelog.txt for full details
|
||||||
const int DEBUGGER_VERSION = MAKE_VERSION(2,9,1,3);
|
const int DEBUGGER_VERSION = MAKE_VERSION(2,9,1,5);
|
||||||
|
|
||||||
|
|
||||||
// Public _________________________________________________________________________________________
|
// Public _________________________________________________________________________________________
|
||||||
|
|
|
@ -95,6 +95,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
G8, // FG_DISASM_SYMBOL
|
G8, // FG_DISASM_SYMBOL
|
||||||
C8, // FG_DISASM_CHAR
|
C8, // FG_DISASM_CHAR
|
||||||
G8, // FG_DISASM_BRANCH
|
G8, // FG_DISASM_BRANCH
|
||||||
|
COLOR_CUSTOM_01, // FG_DISASM_SINT8
|
||||||
|
|
||||||
C3, // BG_INFO (C4, C2 too dark)
|
C3, // BG_INFO (C4, C2 too dark)
|
||||||
C3, // BG_INFO_WATCH
|
C3, // BG_INFO_WATCH
|
||||||
|
|
|
@ -89,6 +89,7 @@
|
||||||
/*ZZZ*/ , FG_DISASM_SYMBOL // Green HOME
|
/*ZZZ*/ , FG_DISASM_SYMBOL // Green HOME
|
||||||
, FG_DISASM_CHAR // Cyan 'c'
|
, FG_DISASM_CHAR // Cyan 'c'
|
||||||
, FG_DISASM_BRANCH // Green ^ = v
|
, FG_DISASM_BRANCH // Green ^ = v
|
||||||
|
, FG_DISASM_SINT8 // Lite Blue
|
||||||
|
|
||||||
, BG_INFO // Cyan Regs/Stack/BP/Watch/ZP
|
, BG_INFO // Cyan Regs/Stack/BP/Watch/ZP
|
||||||
, BG_INFO_WATCH // Cyan
|
, BG_INFO_WATCH // Cyan
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
#define CHC_ARG_MAND "`7" // < >
|
#define CHC_ARG_MAND "`7" // < >
|
||||||
#define CHC_ARG_OPT "`4" // [ ]
|
#define CHC_ARG_OPT "`4" // [ ]
|
||||||
#define CHC_ARG_SEP "`9" // | grey
|
#define CHC_ARG_SEP "`9" // | grey
|
||||||
#define CHC_NUM_DEC "`6" // cyan looks better then yellow (_SearchMemoryDisplay), S D000:FFFF A9 00, PROFILE, HELP BP
|
#define CHC_NUM_DEC "`:" // Lite Blue looks better then yellow (_SearchMemoryDisplay), S D000:FFFF A9 00, PROFILE, HELP BP
|
||||||
#define CHC_NUM_HEX "`3"
|
#define CHC_NUM_HEX "`3"
|
||||||
#define CHC_SYMBOL "`2" // Symbols
|
#define CHC_SYMBOL "`2" // Symbols
|
||||||
#define CHC_ADDRESS "`8" // Hex Address
|
#define CHC_ADDRESS "`8" // Hex Address
|
||||||
|
|
|
@ -392,8 +392,15 @@ int GetDisassemblyLine(WORD nBaseAddress, DisasmLine_t& line_)
|
||||||
// sprintf( sTarget, g_aOpmodes[ iOpmode ]._sFormat, (unsigned)nTarget );
|
// sprintf( sTarget, g_aOpmodes[ iOpmode ]._sFormat, (unsigned)nTarget );
|
||||||
sprintf(line_.sTarget , "%02X", (unsigned)nTarget);
|
sprintf(line_.sTarget , "%02X", (unsigned)nTarget);
|
||||||
|
|
||||||
if (iOpmode == AM_M)
|
if (nTarget == 0)
|
||||||
{
|
line_.sImmediateSignedDec[0] = 0; // nothing
|
||||||
|
else
|
||||||
|
if (nTarget < 128)
|
||||||
|
sprintf(line_.sImmediateSignedDec, "+%d" , nTarget );
|
||||||
|
else
|
||||||
|
if (nTarget >= 128)
|
||||||
|
sprintf(line_.sImmediateSignedDec, "-%d" , (~nTarget + 1) & 0x7F );
|
||||||
|
|
||||||
bDisasmFormatFlags |= DISASM_FORMAT_CHAR;
|
bDisasmFormatFlags |= DISASM_FORMAT_CHAR;
|
||||||
line_.nImmediate = (BYTE)nTarget;
|
line_.nImmediate = (BYTE)nTarget;
|
||||||
unsigned _char = FormatCharTxtCtrl(FormatCharTxtHigh(line_.nImmediate, NULL), NULL);
|
unsigned _char = FormatCharTxtCtrl(FormatCharTxtHigh(line_.nImmediate, NULL), NULL);
|
||||||
|
@ -407,7 +414,6 @@ int GetDisassemblyLine(WORD nBaseAddress, DisasmLine_t& line_)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
sprintf(line_.sAddress, "%04X", nBaseAddress);
|
sprintf(line_.sAddress, "%04X", nBaseAddress);
|
||||||
|
|
||||||
|
|
|
@ -1782,6 +1782,17 @@ WORD DrawDisassemblyLine ( int iLine, const WORD nBaseAddress )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 2.9.1.4: Print decimal for immediate values
|
||||||
|
if (line.bTargetImmediate)
|
||||||
|
{
|
||||||
|
linerect.left = (int) aTabs[ TS_IMMEDIATE ];
|
||||||
|
DebuggerSetColorFG( DebuggerGetColor( FG_INFO_OPERATOR ));
|
||||||
|
PrintTextCursorX( "#", linerect );
|
||||||
|
|
||||||
|
DebuggerSetColorFG( DebuggerGetColor( FG_DISASM_SINT8 ));
|
||||||
|
PrintTextCursorX( line.sImmediateSignedDec, linerect);
|
||||||
|
}
|
||||||
|
|
||||||
// Immediate Char
|
// Immediate Char
|
||||||
if (bDisasmFormatFlags & DISASM_FORMAT_CHAR)
|
if (bDisasmFormatFlags & DISASM_FORMAT_CHAR)
|
||||||
{
|
{
|
||||||
|
|
|
@ -960,6 +960,7 @@ const DisasmData_t* pDisasmData; // If != NULL then bytes are marked up as data
|
||||||
char sTargetValue [ CHARS_FOR_ADDRESS ];
|
char sTargetValue [ CHARS_FOR_ADDRESS ];
|
||||||
// char sTargetAddress[ CHARS_FOR_ADDRESS ];
|
// char sTargetAddress[ CHARS_FOR_ADDRESS ];
|
||||||
|
|
||||||
|
char sImmediateSignedDec[ 6 ]; // "-128" .. "+127"
|
||||||
char sImmediate[ 4 ]; // 'c'
|
char sImmediate[ 4 ]; // 'c'
|
||||||
char nImmediate;
|
char nImmediate;
|
||||||
char sBranch [ 4 ]; // ^
|
char sBranch [ 4 ]; // ^
|
||||||
|
|
Loading…
Add table
Reference in a new issue