Fixed disassembly issue for zero-page code; system equates weren't being

properly marked as such.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2485 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2012-05-19 19:14:52 +00:00
parent 344c672f89
commit 86372a5fa4
1 changed files with 9 additions and 7 deletions

View File

@ -812,13 +812,9 @@ int DiStella::mark(uInt32 address, uInt8 mask, bool directive)
===========================================================
-----------------------------------------------------------------------*/
if (address >= myOffset && address <= myAppData.end + myOffset)
{
myLabels[address-myOffset] = myLabels[address-myOffset] | mask;
if(directive) myDirectives[address-myOffset] = mask;
return 1;
}
else if (address <= 0x3f)
// Check for equates before ROM/ZP-RAM accesses, because the original logic
// of Distella assumed either equates or ROM; it didn't take ZP-RAM into account
if (address <= 0x3f)
{
return 2;
}
@ -826,6 +822,12 @@ int DiStella::mark(uInt32 address, uInt8 mask, bool directive)
{
return 3;
}
else if (address >= myOffset && address <= myAppData.end + myOffset)
{
myLabels[address-myOffset] = myLabels[address-myOffset] | mask;
if(directive) myDirectives[address-myOffset] = mask;
return 1;
}
else if (address > 0x1000 && myOffset != 0) // Exclude zero-page accesses
{
/* 2K & 4K case */