.29 Fixed: Pretty print DB2 DB4 DB8 without commas
.28 Fixed: DB2 DB4 and DB8 now work properly.
    Example: DB2 BASICFPTR D000:D080
.27 Fixed: Don't do symbol look for data bytes that don't request it. (Groundwork for Define Address)
This commit is contained in:
mpohoreski
2010-12-19 17:29:51 +00:00
parent 9767370002
commit 971c766290
3 changed files with 14 additions and 9 deletions

View File

@@ -36,7 +36,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#define ALLOW_INPUT_LOWERCASE 1 #define ALLOW_INPUT_LOWERCASE 1
// See Debugger_Changelong.txt for full details // See Debugger_Changelong.txt for full details
const int DEBUGGER_VERSION = MAKE_VERSION(2,6,2,26); const int DEBUGGER_VERSION = MAKE_VERSION(2,6,2,29);
// Public _________________________________________________________________________________________ // Public _________________________________________________________________________________________

View File

@@ -185,7 +185,7 @@ Update_t _CmdDisasmDataDefByteX (int nArgs)
// DB symbol // DB symbol
// DB symbol address // DB symbol address
// DB symbol range:range // DB symbol range:range
int iCmd = NOP_BYTE_1 - g_aArgs[0].nValue; int iCmd = g_aArgs[0].nValue - NOP_BYTE_1;
// if ((!nArgs) || (nArgs > 2)) // if ((!nArgs) || (nArgs > 2))
if (! ((nArgs <= 2) || (nArgs == 4))) if (! ((nArgs <= 2) || (nArgs == 4)))
@@ -224,7 +224,7 @@ Update_t _CmdDisasmDataDefWordX (int nArgs)
// DW symbol // DW symbol
// DW symbol address // DW symbol address
// DW symbol range:range // DW symbol range:range
int iCmd = NOP_WORD_1 - g_aArgs[0].nValue; int iCmd = g_aArgs[0].nValue - NOP_WORD_1;
if (! ((nArgs <= 2) || (nArgs == 4))) if (! ((nArgs <= 2) || (nArgs == 4)))
{ {

View File

@@ -1528,25 +1528,30 @@ void FormatNopcodeBytes ( WORD nBaseAddress, DisasmLine_t & line_ )
case NOP_BYTE_1: case NOP_BYTE_1:
case NOP_BYTE_2: case NOP_BYTE_2:
case NOP_BYTE_4: case NOP_BYTE_4:
case NOP_BYTE_8:
sprintf( pDst, "%02X", nTarget8 ); // sBytes+strlen(sBytes) sprintf( pDst, "%02X", nTarget8 ); // sBytes+strlen(sBytes)
pDst += 3; pDst += 2;
iByte++; iByte++;
if( iByte < line_.nOpbyte ) if( line_.iNoptype == NOP_BYTE_1)
{ if( iByte < line_.nOpbyte )
*pDst++ = ','; {
} *pDst++ = ',';
}
break; break;
case NOP_WORD_1: case NOP_WORD_1:
case NOP_WORD_2: case NOP_WORD_2:
case NOP_WORD_4: case NOP_WORD_4:
sprintf( pDst, "%04X", nTarget16 ); // sBytes+strlen(sBytes) sprintf( pDst, "%04X", nTarget16 ); // sBytes+strlen(sBytes)
pDst += 5; pDst += 4;
iByte+= 2; iByte+= 2;
if( iByte < line_.nOpbyte ) if( iByte < line_.nOpbyte )
{ {
*pDst++ = ','; *pDst++ = ',';
} }
break; break;
case NOP_ADDRESS:
iByte += 2;
break;
case NOP_STRING_APPLESOFT: case NOP_STRING_APPLESOFT:
iByte = line_.nOpbyte; iByte = line_.nOpbyte;
strncpy( pDst, (const char*)(mem + nBaseAddress), iByte ); strncpy( pDst, (const char*)(mem + nBaseAddress), iByte );