added DISASM to print current status

added DISASM TARGET [#]
This commit is contained in:
mpohoreski 2006-06-13 01:21:45 +00:00
parent eaf35c2cfe
commit e9c5b31f24
5 changed files with 199 additions and 103 deletions

View File

@ -43,7 +43,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// TODO: COLOR LOAD ["filename"]
// See Debugger_Changelong.txt for full details
const int DEBUGGER_VERSION = MAKE_VERSION(2,5,3,6);
const int DEBUGGER_VERSION = MAKE_VERSION(2,5,3,8);
// Public _________________________________________________________________________________________
@ -527,10 +527,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// Disassembly
bool g_bConfigDisasmOpcodesView = true;
bool g_bConfigDisasmOpcodeSpaces = true;
bool g_bConfigDisasmAddressColon = true;
int g_iConfigDisasmBranchType = DISASM_BRANCH_FANCY;
bool g_bConfigDisasmAddressColon = true;
bool g_bConfigDisasmOpcodesView = true;
bool g_bConfigDisasmOpcodeSpaces = true;
int g_iConfigDisasmTargets = DISASM_TARGET_BOTH;
int g_iConfigDisasmBranchType = DISASM_BRANCH_FANCY;
int g_bConfigDisasmImmediateChar = DISASM_IMMED_BOTH;
// Display ____________________________________________________________________
@ -591,6 +593,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
{TEXT("COLON") , NULL, PARAM_CONFIG_COLON },
{TEXT("OPCODE") , NULL, PARAM_CONFIG_OPCODE },
{TEXT("SPACES") , NULL, PARAM_CONFIG_SPACES },
{TEXT("TARGET") , NULL, PARAM_CONFIG_TARGET },
// Disk
{TEXT("EJECT") , NULL, PARAM_DISK_EJECT },
{TEXT("PROTECT") , NULL, PARAM_DISK_PROTECT },
@ -2232,60 +2235,122 @@ Update_t CmdConfigSave (int nArgs)
Update_t CmdConfigDisasm( int nArgs )
{
int iParam = 0;
TCHAR sText[ CONSOLE_WIDTH ];
bool bDisplayCurrentSettings = false;
// if (_tcscmp( g_aArgs[ 1 ].sArg, g_aParameters[ PARAM_WILDSTAR ].m_sName ) == 0)
if (! nArgs)
{
bDisplayCurrentSettings = true;
nArgs = PARAM_CONFIG_NUM;
}
else
{
if (nArgs > 2)
return Help_Arg_1( CMD_CONFIG_DISASM );
}
for (int iArg = 1; iArg <= nArgs; iArg++ )
{
if (bDisplayCurrentSettings)
iParam = _PARAM_CONFIG_BEGIN + iArg - 1;
else
if (FindParam( g_aArgs[iArg].sArg, MATCH_FUZZY, iParam ))
{
// if (_tcscmp( g_aArgs[ iArg ].sArg, g_aParameters[ PARAM_WILDSTAR ].m_sName ) == 0)
// All -- for saving
// g_aArgs[ iArg ]
}
switch (iParam)
{
case PARAM_CONFIG_BRANCH:
iArg++;
if (iArg > 2)
return Help_Arg_1( CMD_CONFIG_DISASM ); // CMD_CONFIG_DISASM_BRANCH );
g_iConfigDisasmBranchType = g_aArgs[ iArg ].nVal1;
if (g_iConfigDisasmBranchType < 0)
g_iConfigDisasmBranchType = 0;
if (g_iConfigDisasmBranchType >= NUM_DISASM_BRANCH_TYPES)
g_iConfigDisasmBranchType = NUM_DISASM_BRANCH_TYPES - 1;
if ((nArgs > 1) && (! bDisplayCurrentSettings)) // set
{
iArg++;
g_iConfigDisasmBranchType = g_aArgs[ iArg ].nVal1;
if (g_iConfigDisasmBranchType < 0)
g_iConfigDisasmBranchType = 0;
if (g_iConfigDisasmBranchType >= NUM_DISASM_BRANCH_TYPES)
g_iConfigDisasmBranchType = NUM_DISASM_BRANCH_TYPES - 1;
}
else // show current setting
{
wsprintf( sText, TEXT( "Branch Type: %d" ), g_iConfigDisasmBranchType );
ConsoleBufferPush( sText );
ConsoleBufferToDisplay();
}
break;
case PARAM_CONFIG_COLON:
iArg++;
if (iArg > 2)
return Help_Arg_1( CMD_CONFIG_DISASM ); // CMD_CONFIG_DISASM_COLON );
g_bConfigDisasmAddressColon = (g_aArgs[ iArg ].nVal1 & 1);
if ((nArgs > 1) && (! bDisplayCurrentSettings)) // set
{
iArg++;
g_bConfigDisasmAddressColon = (g_aArgs[ iArg ].nVal1) ? true : false;
}
else // show current setting
{
int iState = g_bConfigDisasmAddressColon ? PARAM_ON : PARAM_OFF;
wsprintf( sText, TEXT( "Colon: %s" ), g_aParameters[ iState ].m_sName );
ConsoleBufferPush( sText );
ConsoleBufferToDisplay();
}
break;
case PARAM_CONFIG_OPCODE:
iArg++;
if (iArg > 2)
return Help_Arg_1( CMD_CONFIG_DISASM ); // CMD_CONFIG_DISASM_OPCODE );
g_bConfigDisasmOpcodesView = (g_aArgs[ iArg ].nVal1 & 1);
if ((nArgs > 1) && (! bDisplayCurrentSettings)) // set
{
iArg++;
g_bConfigDisasmOpcodesView = (g_aArgs[ iArg ].nVal1) ? true : false;
}
else
{
int iState = g_bConfigDisasmOpcodeSpaces ? PARAM_ON : PARAM_OFF;
wsprintf( sText, TEXT( "Opcodes: %s" ), g_aParameters[ iState ].m_sName );
ConsoleBufferPush( sText );
ConsoleBufferToDisplay();
}
break;
case PARAM_CONFIG_SPACES:
iArg++;
if (iArg > 2)
return Help_Arg_1( CMD_CONFIG_DISASM ); // CMD_CONFIG_DISASM_SPACES );
g_bConfigDisasmOpcodeSpaces = (g_aArgs[ iArg ].nVal1 & 1);
if ((nArgs > 1) && (! bDisplayCurrentSettings)) // set
{
iArg++;
g_bConfigDisasmOpcodeSpaces = (g_aArgs[ iArg ].nVal1) ? true : false;
}
else
{
int iState = g_bConfigDisasmOpcodeSpaces ? PARAM_ON : PARAM_OFF;
wsprintf( sText, TEXT( "Opcode spaces: %s" ), g_aParameters[ iState ].m_sName );
ConsoleBufferPush( sText );
ConsoleBufferToDisplay();
}
break;
case PARAM_CONFIG_TARGET:
if ((nArgs > 1) && (! bDisplayCurrentSettings)) // set
{
iArg++;
g_iConfigDisasmTargets = g_aArgs[ iArg ].nVal1;
if (g_iConfigDisasmTargets < 0)
g_iConfigDisasmTargets = 0;
if (g_iConfigDisasmTargets >= NUM_DISASM_TARGET_TYPES)
g_iConfigDisasmTargets = NUM_DISASM_TARGET_TYPES - 1;
}
else // show current setting
{
wsprintf( sText, TEXT( "Target: %d" ), g_iConfigDisasmTargets );
ConsoleBufferPush( sText );
ConsoleBufferToDisplay();
}
break;
default:
return Help_Arg_1( CMD_CONFIG_DISASM ); // CMD_CONFIG_DISASM_OPCODE );
}
}
// }
// else
// return Help_Arg_1( CMD_CONFIG_DISASM );
}
return UPDATE_CONSOLE_DISPLAY | UPDATE_DISASM;
}

View File

@ -51,10 +51,12 @@ using namespace std;
extern const int WINDOW_DATA_BYTES_PER_LINE;
// Disassembly
extern bool g_bConfigDisasmOpcodesView ;//= true; // TODO: CONFIG {DISASM} OPCODES [0|1]
extern bool g_bConfigDisasmOpcodeSpaces ;//= true; // TODO: CONFIG {DISASM} SPACE [0|1]
extern bool g_bConfigDisasmAddressColon ;//= true; // TODO: CONFIG {DISASM} COLON [0|1]
extern int g_iConfigDisasmBranchType ;//DISASM_BRANCH_FANCY; // TODO: CONFIG {DISASM} BRANCH [0|1|2]
extern bool g_bConfigDisasmAddressColon ;
extern bool g_bConfigDisasmOpcodesView ;
extern bool g_bConfigDisasmOpcodeSpaces ;
extern int g_iConfigDisasmTargets ;
extern int g_iConfigDisasmBranchType ;
extern int g_bConfigDisasmImmediateChar;
// Display
extern bool g_bDebuggerViewingAppleOutput;

View File

@ -287,7 +287,7 @@ int FormatDisassemblyLine( WORD nBaseAddress, int iOpcode, int iOpmode, int nOpB
// Always show branch indicators
// if ((nBaseAddress == regs.pc) && CheckJump(nAddress))
bDisasmFormatFlags |= DISASM_BRANCH_INDICATOR;
bDisasmFormatFlags |= DISASM_FORMAT_BRANCH;
if (nTarget < nBaseAddress)
{
@ -323,41 +323,41 @@ int FormatDisassemblyLine( WORD nBaseAddress, int iOpcode, int iOpmode, int nOpB
LPCTSTR pSymbol = FindSymbolFromAddress( nTarget );
if (pSymbol)
{
bDisasmFormatFlags |= DISASM_TARGET_SYMBOL;
bDisasmFormatFlags |= DISASM_FORMAT_SYMBOL;
pTarget = pSymbol;
}
if (! (bDisasmFormatFlags & DISASM_TARGET_SYMBOL))
if (! (bDisasmFormatFlags & DISASM_FORMAT_SYMBOL))
{
pSymbol = FindSymbolFromAddress( nTarget - 1 );
if (pSymbol)
{
bDisasmFormatFlags |= DISASM_TARGET_SYMBOL;
bDisasmFormatFlags |= DISASM_TARGET_OFFSET;
bDisasmFormatFlags |= DISASM_FORMAT_SYMBOL;
bDisasmFormatFlags |= DISASM_FORMAT_OFFSET;
pTarget = pSymbol;
nTargetOffset_ = +1; // U FA82 LDA #3F1 BREAK+1
}
}
if (! (bDisasmFormatFlags & DISASM_TARGET_SYMBOL))
if (! (bDisasmFormatFlags & DISASM_FORMAT_SYMBOL))
{
pSymbol = FindSymbolFromAddress( nTarget + 1 );
if (pSymbol)
{
bDisasmFormatFlags |= DISASM_TARGET_SYMBOL;
bDisasmFormatFlags |= DISASM_TARGET_OFFSET;
bDisasmFormatFlags |= DISASM_FORMAT_SYMBOL;
bDisasmFormatFlags |= DISASM_FORMAT_OFFSET;
pTarget = pSymbol;
nTargetOffset_ = -1; // U FA82 LDA #3F3 BREAK-1
}
}
if (! (bDisasmFormatFlags & DISASM_TARGET_SYMBOL))
if (! (bDisasmFormatFlags & DISASM_FORMAT_SYMBOL))
{
pTarget = FormatAddress( nTarget, nOpBytes );
}
// wsprintf( sTarget, g_aOpmodes[ iOpmode ]._sFormat, pTarget );
if (bDisasmFormatFlags & DISASM_TARGET_OFFSET)
if (bDisasmFormatFlags & DISASM_FORMAT_OFFSET)
{
int nAbsTargetOffset = (nTargetOffset_ > 0) ? nTargetOffset_ : -nTargetOffset_;
wsprintf( sTargetOffset_, "%d", nAbsTargetOffset );
@ -374,7 +374,7 @@ int FormatDisassemblyLine( WORD nBaseAddress, int iOpcode, int iOpmode, int nOpB
if (nTargetPointer != NO_6502_TARGET)
{
bDisasmFormatFlags |= DISASM_TARGET_POINTER;
bDisasmFormatFlags |= DISASM_FORMAT_TARGET_POINTER;
nTargetValue = *(LPWORD)(mem+nTargetPointer);
@ -382,15 +382,16 @@ int FormatDisassemblyLine( WORD nBaseAddress, int iOpcode, int iOpmode, int nOpB
// nTargetBytes refers to size of pointer, not size of value
// wsprintf( sTargetValue_, "%04X", nTargetValue ); // & 0xFFFF
wsprintf( sTargetPointer_, "%04X", nTargetPointer & 0xFFFF );
if (g_iConfigDisasmTargets & DISASM_TARGET_ADDR)
wsprintf( sTargetPointer_, "%04X", nTargetPointer & 0xFFFF );
if (iOpmode != AM_NA ) // Indirect Absolute
{
bDisasmFormatFlags |= DISASM_TARGET_VALUE;
bDisasmFormatFlags |= DISASM_FORMAT_TARGET_VALUE;
if (g_iConfigDisasmTargets & DISASM_TARGET_VAL)
wsprintf( sTargetValue_, "%02X", nTargetValue & 0xFF );
wsprintf( sTargetValue_, "%02X", nTargetValue & 0xFF );
bDisasmFormatFlags |= DISASM_IMMEDIATE_CHAR;
bDisasmFormatFlags |= DISASM_FORMAT_CHAR;
nImmediate_ = (BYTE) nTargetValue;
wsprintf( sImmediate_, "%c", FormatCharTxtCtrl( FormatCharTxtHigh( nImmediate_, NULL ), NULL ) );
}
@ -410,7 +411,7 @@ int FormatDisassemblyLine( WORD nBaseAddress, int iOpcode, int iOpmode, int nOpB
if (iOpmode == AM_M)
{
bDisasmFormatFlags |= DISASM_IMMEDIATE_CHAR;
bDisasmFormatFlags |= DISASM_FORMAT_CHAR;
nImmediate_ = (BYTE) nTarget;
wsprintf( sImmediate_, "%c", FormatCharTxtCtrl( FormatCharTxtHigh( nImmediate_, NULL ), NULL ) );
}
@ -831,11 +832,13 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
, TS_INSTRUCTION
, TS_IMMEDIATE
, TS_BRANCH
, TS_CHAR
, _NUM_TAB_STOPS
};
int aTabs[ _NUM_TAB_STOPS ] =
{ 6, 16, 26, 40, 46 }; // 17, 27, 41
float aTabs[ _NUM_TAB_STOPS ] =
// { 6, 16, 26, 41, 46, 49 }; // 17, 27, 41
{ 5.75, 15.5, 25, 40.5, 45.5, 48.5 };
if (! g_bConfigDisasmAddressColon)
{
@ -849,7 +852,7 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
aTabs[ TS_IMMEDIATE ] -= 1;
}
const int OPCODE_TO_LABEL_SPACE = aTabs[ TS_INSTRUCTION ] - aTabs[ TS_LABEL ];
const int OPCODE_TO_LABEL_SPACE = static_cast<int>( aTabs[ TS_INSTRUCTION ] - aTabs[ TS_LABEL ] );
int iTab = 0;
int nSpacer = 9;
@ -972,7 +975,7 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
DebugDrawTextHorz( TEXT(":"), linerect );
// Opcodes
linerect.left = aTabs[ TS_OPCODE ];
linerect.left = (int) aTabs[ TS_OPCODE ];
if (! bCursorLine)
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPCODE ) );
@ -983,7 +986,7 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
// DebugDrawTextHorz( TEXT(" "), linerect );
// Label
linerect.left = aTabs[ TS_LABEL ];
linerect.left = (int) aTabs[ TS_LABEL ];
LPCSTR pSymbol = FindSymbolFromAddress( nBaseAddress );
if (pSymbol)
@ -996,7 +999,7 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
// DebugDrawTextHorz( TEXT(" "), linerect );
// Instruction
linerect.left = aTabs[ TS_INSTRUCTION ];
linerect.left = (int) aTabs[ TS_INSTRUCTION ];
if (! bCursorLine)
SetTextColor( dc, DebuggerGetColor( iForeground ) );
@ -1032,14 +1035,14 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
if (! bCursorLine)
{
if (bDisasmFormatFlags & DISASM_TARGET_SYMBOL)
if (bDisasmFormatFlags & DISASM_FORMAT_SYMBOL)
{
SetTextColor( dc, DebuggerGetColor( FG_DISASM_SYMBOL ) );
}
else
{
if (iOpmode == AM_M)
// if (bDisasmFormatFlags & DISASM_IMMEDIATE_CHAR)
// if (bDisasmFormatFlags & DISASM_FORMAT_CHAR)
{
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPCODE ) );
}
@ -1053,7 +1056,7 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
// DebugDrawTextHorz( TEXT(" "), linerect );
// Target Offset +/-
if (bDisasmFormatFlags & DISASM_TARGET_OFFSET)
if (bDisasmFormatFlags & DISASM_FORMAT_OFFSET)
{
if (! bCursorLine)
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPERATOR ));
@ -1088,27 +1091,25 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
DebugDrawTextHorz( TEXT(",Y"), linerect );
}
// Immediate Char
linerect.left = aTabs[ TS_IMMEDIATE ];
// Memory Pointer and Value
if (bDisasmFormatFlags & DISASM_TARGET_POINTER) // (bTargetValue)
if (bDisasmFormatFlags & DISASM_FORMAT_TARGET_POINTER) // (bTargetValue)
{
linerect.left = (int) aTabs[ TS_IMMEDIATE ]; // TS_IMMEDIATE ];
// DebugDrawTextHorz( TEXT(" "), linerect );
// FG_DISASM_TARGET
// FG_DISASM_OPERATOR
// FG_DISASM_OPCODE
if (! bCursorLine)
SetTextColor( dc, DebuggerGetColor( FG_DISASM_ADDRESS ));
DebugDrawTextHorz( sTargetPointer, linerect );
if (bDisasmFormatFlags & DISASM_TARGET_VALUE)
if (bDisasmFormatFlags & DISASM_FORMAT_TARGET_VALUE)
{
if (! bCursorLine)
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPERATOR ));
DebugDrawTextHorz( TEXT(":"), linerect );
if (g_iConfigDisasmTargets & DISASM_TARGET_BOTH)
DebugDrawTextHorz( TEXT(":"), linerect );
if (! bCursorLine)
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPCODE ));
@ -1118,15 +1119,18 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
}
}
if (bDisasmFormatFlags & DISASM_IMMEDIATE_CHAR)
// Immediate Char
if (bDisasmFormatFlags & DISASM_FORMAT_CHAR)
{
linerect.left = (int) aTabs[ TS_CHAR ]; // TS_IMMEDIATE ];
if (! bCursorLine)
{
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPERATOR ) );
}
if (! (bDisasmFormatFlags & DISASM_TARGET_POINTER))
DebugDrawTextHorz( TEXT("'"), linerect ); // TEXT(" '")
// if (! (bDisasmFormatFlags & DISASM_FORMAT_TARGET_POINTER))
// DebugDrawTextHorz( TEXT("'"), linerect ); // TEXT(" '")
if (! bCursorLine)
{
@ -1141,20 +1145,15 @@ WORD DrawDisassemblyLine (HDC dc, int iLine, WORD nBaseAddress, LPTSTR text)
SetTextColor( dc, DebuggerGetColor( FG_DISASM_OPERATOR ) );
}
if (! (bDisasmFormatFlags & DISASM_TARGET_POINTER))
DebugDrawTextHorz( TEXT("'"), linerect );
// if (! (bDisasmFormatFlags & DISASM_FORMAT_TARGET_POINTER))
// DebugDrawTextHorz( TEXT("'"), linerect );
}
// else
// if (bTargetIndirect)
// {
// // Follow indirect targets
// }
// Branch Indicator
linerect.left = aTabs[ TS_BRANCH ];
if (bDisasmFormatFlags & DISASM_BRANCH_INDICATOR)
if (bDisasmFormatFlags & DISASM_FORMAT_BRANCH)
{
linerect.left = (int) aTabs[ TS_BRANCH ];
if (! bCursorLine)
{
SetTextColor( dc, DebuggerGetColor( FG_DISASM_BRANCH ) );

View File

@ -478,10 +478,10 @@ Update_t CmdHelpSpecific (int nArgs)
wsprintf( sText, TEXT(" Usage: %s [#]" ), g_aParameters[ PARAM_CONFIG_BRANCH ].m_sName );
ConsoleBufferPush( sText );
wsprintf( sText, TEXT(" # is from 0 to %d\n"), NUM_DISASM_BRANCH_TYPES - 1 );
ConsoleBufferPush( sText );
ConsoleBufferPush( TEXT(" Set the type of branch character:" ) );
ConsoleBufferPush( TEXT(" 0 none, 1 = plain, 2 = fancy" ) );
wsprintf( sText, TEXT(" %d off, %d plain, %d fancy" ),
DISASM_BRANCH_OFF, DISASM_BRANCH_PLAIN, DISASM_BRANCH_FANCY );
ConsoleBufferPush( sText );
wsprintf( sText, TEXT(" Usage: %s [0|1]" ), g_aParameters[ PARAM_CONFIG_COLON ].m_sName );
ConsoleBufferPush( sText );
@ -494,6 +494,16 @@ Update_t CmdHelpSpecific (int nArgs)
wsprintf( sText, TEXT(" Usage: %s [0|1]" ), g_aParameters[ PARAM_CONFIG_SPACES ].m_sName );
ConsoleBufferPush( sText );
ConsoleBufferPush( TEXT(" Display spaces between opcodes" ) );
wsprintf( sText, TEXT(" Usage: %s [#]" ), g_aParameters[ PARAM_CONFIG_TARGET ].m_sName );
ConsoleBufferPush( sText );
ConsoleBufferPush( TEXT(" Set the type of target address/value displayed:" ) );
wsprintf( sText, TEXT(" %d off, %d value only, %d address only, %d both" ),
DISASM_TARGET_OFF, DISASM_TARGET_VAL, DISASM_TARGET_ADDR, DISASM_TARGET_BOTH );
ConsoleBufferPush( sText );
// ZZZ - CHAR
break;
// Config - Font

View File

@ -787,22 +787,41 @@
// Disassembly ____________________________________________________________________________________
enum FormatDisasm_e
{
DISASM_IMMEDIATE_CHAR = (1 << 0),
DISASM_TARGET_SYMBOL = (1 << 1),
DISASM_TARGET_OFFSET = (1 << 2),
DISASM_BRANCH_INDICATOR = (1 << 3),
DISASM_TARGET_POINTER = (1 << 4),
DISASM_TARGET_VALUE = (1 << 5),
};
enum DisasmBranch_e
{
DISASM_BRANCH_OFF = 0,
DISASM_BRANCH_PLAIN = 1,
DISASM_BRANCH_FANCY = 2,
NUM_DISASM_BRANCH_TYPES
DISASM_BRANCH_OFF = 0
, DISASM_BRANCH_PLAIN
, DISASM_BRANCH_FANCY
, NUM_DISASM_BRANCH_TYPES
};
enum DisasmFormat_e
{
DISASM_FORMAT_CHAR = (1 << 0),
DISASM_FORMAT_SYMBOL = (1 << 1),
DISASM_FORMAT_OFFSET = (1 << 2),
DISASM_FORMAT_BRANCH = (1 << 3),
DISASM_FORMAT_TARGET_POINTER = (1 << 4),
DISASM_FORMAT_TARGET_VALUE = (1 << 5),
};
enum DisasmImmediate_e
{
DISASM_IMMED_OFF = 0
, DISASM_IMMED_TARGET
, DISASM_IMMED_MODE
, DISASM_IMMED_BOTH
, NUM_DISASM_IMMED_TYPES
};
enum DisasmTargets_e
{
DISASM_TARGET_OFF = 0
, DISASM_TARGET_VAL // Note: Also treated as bit flag !!
, DISASM_TARGET_ADDR // Note: Also treated as bit flag !!
, DISASM_TARGET_BOTH // Note: Also treated as bit flag !!
, NUM_DISASM_TARGET_TYPES
};
// Font ___________________________________________________________________________________________
@ -1145,6 +1164,7 @@
, PARAM_CONFIG_COLON // g_bConfigDisasmAddressColon [0|1]
, PARAM_CONFIG_OPCODE // g_bConfigDisasmOpcodesView [0|1]
, PARAM_CONFIG_SPACES // g_bConfigDisasmOpcodeSpaces [0|1]
, PARAM_CONFIG_TARGET // g_iConfigDisasmTargets [0 | 1 | 2]
, _PARAM_CONFIG_END
, PARAM_CONFIG_NUM = _PARAM_CONFIG_END - _PARAM_CONFIG_BEGIN