mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-09-07 00:54:25 +00:00
.6 Fixed Assembler storing one too many bytes in AssemblerPokeAddress()
.5 Fixed Assembler not parsing target address in AssemblerGetArgs() A 40C7 BRA $40D7 .4 Fixed Assembler hang in AssemblerProcessDelayedSymols() A 40C7 BRA $40D7
This commit is contained in:
parent
64c5bcef04
commit
73bf5c15b7
@ -584,10 +584,10 @@ int AssemblerPokeAddress( const int Opcode, const int nOpmode, const WORD nBaseA
|
|||||||
*(memdirty + (nBaseAddress >> 8)) |= 1;
|
*(memdirty + (nBaseAddress >> 8)) |= 1;
|
||||||
// *(mem + nBaseAddress) = (BYTE) nOpcode;
|
// *(mem + nBaseAddress) = (BYTE) nOpcode;
|
||||||
|
|
||||||
if (nOpbytes > 0)
|
if (nOpbytes > 1)
|
||||||
*(mem + nBaseAddress + 1) = (BYTE)(nTargetOffset >> 0);
|
*(mem + nBaseAddress + 1) = (BYTE)(nTargetOffset >> 0);
|
||||||
|
|
||||||
if (nOpbytes > 1)
|
if (nOpbytes > 2)
|
||||||
*(mem + nBaseAddress + 2) = (BYTE)(nTargetOffset >> 8);
|
*(mem + nBaseAddress + 2) = (BYTE)(nTargetOffset >> 8);
|
||||||
|
|
||||||
return nOpbytes;
|
return nOpbytes;
|
||||||
@ -796,6 +796,11 @@ bool AssemblerGetArgs( int iArg, int nArgs, WORD nBaseAddress )
|
|||||||
m_iAsmAddressMode = AM_A;
|
m_iAsmAddressMode = AM_A;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
// if valid hex address, don't have delayed target
|
||||||
|
TCHAR sAddress[ 32 ];
|
||||||
|
wsprintf( sAddress, "%X", m_nAsmTargetAddress);
|
||||||
|
if (_tcscmp( sAddress, pArg->sArg))
|
||||||
{
|
{
|
||||||
DelayedTarget_t tDelayedTarget;
|
DelayedTarget_t tDelayedTarget;
|
||||||
|
|
||||||
@ -813,6 +818,7 @@ bool AssemblerGetArgs( int iArg, int nArgs, WORD nBaseAddress )
|
|||||||
|
|
||||||
m_nAsmTargetAddress = 0;
|
m_nAsmTargetAddress = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((m_iAsmAddressMode != AM_M) &&
|
if ((m_iAsmAddressMode != AM_M) &&
|
||||||
(m_iAsmAddressMode != AM_IMPLIED) &&
|
(m_iAsmAddressMode != AM_IMPLIED) &&
|
||||||
@ -1027,6 +1033,9 @@ void AssemblerProcessDelayedSymols()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! bModified)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user