bool ExpandMacro( MacroRegModify MacroMod )
{
RegModOffset regmod;
// set source and destination registers in macro expansion
for ( int i = 0; i < MacroMod.RegModSize; i++ )
{
regmod = MacroMod.RegMods[ i ];
MacroMod.Macro[ regmod.MacroOffset ].ID = (Symbol)( regmod.RegisterBase + opParams[ regmod.OpParamsIndex ].Arg );
}
// turn macro support on so that ps.1.4 ALU instructions get put in phase 1 alu instruction sequence container
macroOn = true;
// pass macro tokens on to be turned into machine instructions
// expand macro to ps.1.4 by doing recursive call to doPass2
bool passed = Pass2scan( MacroMod.Macro, MacroMod.MacroSize );
macroOn = false;
return passed;
}