mirror of
https://github.com/AppleWin/AppleWin.git
synced 2025-08-15 18:27:29 +00:00
2.6.2.10 Added: Pretty printing 'B' of all bytes treated as data.
This commit is contained in:
@@ -105,25 +105,57 @@ Update_t CmdDisasmDataDefCode (int nArgs)
|
|||||||
return UPDATE_DISASM | ConsoleUpdate();
|
return UPDATE_DISASM | ConsoleUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* g_aNopcodeTypes[ NUM_NOPCODE_TYPES ] =
|
||||||
|
{
|
||||||
|
"-n/a-"
|
||||||
|
,"byte1"
|
||||||
|
,"byte2"
|
||||||
|
,"byte4"
|
||||||
|
,"byte8"
|
||||||
|
,"word1"
|
||||||
|
,"word2"
|
||||||
|
,"word4"
|
||||||
|
,"addr "
|
||||||
|
,"hex "
|
||||||
|
,"char "
|
||||||
|
,"ascii"
|
||||||
|
,"apple"
|
||||||
|
,"mixed"
|
||||||
|
,"FAC "
|
||||||
|
,"bmp "
|
||||||
|
};
|
||||||
|
|
||||||
// List the data blocks
|
// List the data blocks
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
Update_t CmdDisasmDataList (int nArgs)
|
Update_t CmdDisasmDataList (int nArgs)
|
||||||
{
|
{
|
||||||
// Need to iterate through all blocks
|
// Need to iterate through all blocks
|
||||||
DisasmData_t* pData = NULL;
|
DisasmData_t* pData = NULL;
|
||||||
char sText[ CONSOLE_WIDTH ];
|
char sText[ CONSOLE_WIDTH * 2 ];
|
||||||
|
|
||||||
while( pData = Disassembly_Enumerate( pData ) )
|
while( pData = Disassembly_Enumerate( pData ) )
|
||||||
{
|
{
|
||||||
// `TEST `300`:`320
|
if (pData->iDirective != _NOP_REMOVED)
|
||||||
sprintf( sText, "%s%s %s%04X%s:%s%04X\n"
|
{
|
||||||
, CHC_SYMBOL
|
int nLen = strlen( pData->sSymbol );
|
||||||
, pData->sSymbol
|
// TODO:
|
||||||
, CHC_ADDRESS
|
// <smbol> <type> <start>:<end>
|
||||||
, pData->nStartAddress
|
|
||||||
, CHC_ARG_SEP
|
|
||||||
, pData->nEndAddress
|
// `TEST `300`:`320
|
||||||
);
|
sprintf( sText, "%s%s %s%s %s%04X%s:%s%04X"
|
||||||
ConsolePrint( sText );
|
, CHC_CATEGORY
|
||||||
|
, g_aNopcodeTypes[ pData->eElementType ]
|
||||||
|
, (nLen > 0) ? CHC_SYMBOL : CHC_DEFAULT
|
||||||
|
, (nLen > 0) ? pData->sSymbol : "???"
|
||||||
|
, CHC_ADDRESS
|
||||||
|
, pData->nStartAddress
|
||||||
|
, CHC_ARG_SEP
|
||||||
|
, CHC_ADDRESS
|
||||||
|
, pData->nEndAddress
|
||||||
|
);
|
||||||
|
ConsolePrint( sText );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return UPDATE_DISASM | ConsoleUpdate();
|
return UPDATE_DISASM | ConsoleUpdate();
|
||||||
@@ -280,23 +312,21 @@ DisasmData_t* Disassembly_Enumerate( DisasmData_t *pCurrent )
|
|||||||
DisasmData_t *pData = NULL; // bIsNopcode = false
|
DisasmData_t *pData = NULL; // bIsNopcode = false
|
||||||
int nDataTargets = g_aDisassemblerData.size();
|
int nDataTargets = g_aDisassemblerData.size();
|
||||||
|
|
||||||
if( pCurrent )
|
if( nDataTargets )
|
||||||
{
|
{
|
||||||
pCurrent++;
|
DisasmData_t *pBegin = & g_aDisassemblerData[ 0 ];
|
||||||
pData = & g_aDisassemblerData[ nDataTargets ];
|
DisasmData_t *pEnd = & g_aDisassemblerData[ nDataTargets - 1 ];
|
||||||
if( pCurrent < pData )
|
|
||||||
return pCurrent;
|
if( pCurrent )
|
||||||
else
|
{
|
||||||
return NULL;
|
pCurrent++;
|
||||||
}
|
if (pCurrent <= pEnd)
|
||||||
else
|
pData = pCurrent;
|
||||||
{
|
} else {
|
||||||
pData = & g_aDisassemblerData[ 0 ];
|
pData = pBegin;
|
||||||
if( nDataTargets )
|
}
|
||||||
return pData;
|
|
||||||
else
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
return pData;
|
||||||
}
|
}
|
||||||
|
|
||||||
// returns NULL if address has no data associated with it
|
// returns NULL if address has no data associated with it
|
||||||
|
Reference in New Issue
Block a user