MCPcopy Create free account
hub / github.com/devosoft/avida / FindModifiedRegister

Method FindModifiedRegister

avida-core/source/cpu/cHardwareGP8.cc:1226–1241  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1224// --------------------------------------------------------------------------------------------------------------
1225
1226inline int cHardwareGP8::FindModifiedRegister(int default_register, bool accept_immediate)
1227{
1228 assert(default_register < NUM_REGISTERS); // Reg ID too high.
1229
1230 Instruction inst = getIP().NextInst();
1231 if (m_inst_set->IsNop(inst)) {
1232 getIP().Advance();
1233 default_register = m_inst_set->GetNopMod(inst);
1234 getIP().SetFlagExecuted();
1235 } else if (accept_immediate && m_inst_set->IsImmediateValue(inst)) {
1236 getIP().Advance();
1237 default_register = m_inst_set->GetLibFunctionIndex(inst);
1238 getIP().SetFlagExecuted();
1239 }
1240 return default_register;
1241}
1242
1243inline int cHardwareGP8::FindModifiedNextRegister(int default_register, bool accept_immediate)
1244{

Callers

nothing calls this directly

Calls 7

GetLibFunctionIndexMethod · 0.80
NextInstMethod · 0.45
IsNopMethod · 0.45
AdvanceMethod · 0.45
GetNopModMethod · 0.45
SetFlagExecutedMethod · 0.45
IsImmediateValueMethod · 0.45

Tested by

no test coverage detected