MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / AssemblerPokeOpcodeAddress

Function AssemblerPokeOpcodeAddress

source/Debugger/Debugger_Assembler.cpp:1101–1135  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

1099
1100//===========================================================================
1101bool AssemblerPokeOpcodeAddress( const WORD nBaseAddress )
1102{
1103 int iAddressMode = m_iAsmAddressMode; // opmode detected from input
1104 int nTargetValue = m_nAsmTargetValue;
1105
1106 int iOpcode;
1107 const size_t nOpcodes = m_vAsmOpcodes.size();
1108
1109 for ( iOpcode = 0; iOpcode < nOpcodes; iOpcode++ )
1110 {
1111 int nOpcode = m_vAsmOpcodes.at( iOpcode ); // m_iOpcode;
1112 int nOpmode = g_aOpcodes[ nOpcode ].nAddressMode;
1113
1114 if (nOpmode == iAddressMode)
1115 {
1116 WriteByteToMemory(nBaseAddress, (BYTE)nOpcode);
1117 int nOpbytes = AssemblerPokeAddress( nOpcode, nOpmode, nBaseAddress, nTargetValue );
1118
1119 if (m_bDelayedTargetsDirty)
1120 {
1121 size_t nDelayedTargets = m_vDelayedTargets.size();
1122 DelayedTarget_t *pTarget = & m_vDelayedTargets.at( nDelayedTargets - 1 );
1123
1124 pTarget->m_nOpcode = nOpcode;
1125 pTarget->m_iOpmode = nOpmode;
1126 }
1127
1128 g_nAssemblerAddress += nOpbytes;
1129 return true;
1130 }
1131
1132 }
1133
1134 return false;
1135}
1136
1137
1138//===========================================================================

Callers 1

AssembleFunction · 0.85

Calls 2

WriteByteToMemoryFunction · 0.85
AssemblerPokeAddressFunction · 0.85

Tested by

no test coverage detected