• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ Helper_Get_EA_X函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中Helper_Get_EA_X函数的典型用法代码示例。如果您正苦于以下问题:C++ Helper_Get_EA_X函数的具体用法?C++ Helper_Get_EA_X怎么用?C++ Helper_Get_EA_X使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了Helper_Get_EA_X函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Helper_Get_EA_X

void Interpreter::dcbst(UGeckoInstruction _inst)
{
	// Cache line flush. Since we don't emulate the data cache, we don't need to do anything.
	// Invalidate the jit block cache on dcbst in case new code has been loaded via the data cache
		u32 address = Helper_Get_EA_X(_inst);
		JitInterface::InvalidateICache(address & ~0x1f, 32);
}
开发者ID:diegobill,项目名称:dolphin,代码行数:7,代码来源:Interpreter_LoadStore.cpp


示例2: Helper_Get_EA_X

// Stores Word Conditional indeXed
void Interpreter::stwcxd(UGeckoInstruction inst)
{
  const u32 address = Helper_Get_EA_X(inst);

  if ((address & 0b11) != 0)
  {
    GenerateAlignmentException(address);
    return;
  }

  if (m_reserve)
  {
    if (address == m_reserve_address)
    {
      PowerPC::Write_U32(rGPR[inst.RS], address);
      if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI))
      {
        m_reserve = false;
        PowerPC::SetCRField(0, 2 | PowerPC::GetXER_SO());
        return;
      }
    }
  }

  PowerPC::SetCRField(0, PowerPC::GetXER_SO());
}
开发者ID:TurboK234,项目名称:dolphin,代码行数:27,代码来源:Interpreter_LoadStore.cpp


示例3: Helper_Get_EA_X

// TODO: is this right?
// FIXME: Should rollback if a DSI occurs
void Interpreter::lswx(UGeckoInstruction _inst)
{
	u32 EA = Helper_Get_EA_X(_inst);
	u32 n = rSPR(SPR_XER) & 0x7F;
	int r = _inst.RD;
	int i = 0;

	if (n > 0)
	{
		m_GPR[r] = 0;
		do
		{
			u32 TempValue = Memory::Read_U8(EA) << (24 - i);
			if (PowerPC::ppcState.Exceptions & EXCEPTION_DSI)
			{
				PanicAlert("DSI exception in lswx.");
				NOTICE_LOG(POWERPC, "DSI exception in lswx");
				return;
			}
			m_GPR[r] |= TempValue;

			EA++;
			n--;
			i += 8;
			if (i == 32)
			{
				i = 0;
				r = (r + 1) & 31;
				m_GPR[r] = 0;
			}
		} while (n > 0);
	}
}
开发者ID:NullNoname,项目名称:dolphin,代码行数:35,代码来源:Interpreter_LoadStore.cpp


示例4: lhzx

void Interpreter::lhzx(UGeckoInstruction _inst)
{
	u32 temp = (u32)Memory::Read_U16(Helper_Get_EA_X(_inst));
	if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI))
	{
		m_GPR[_inst.RD] = temp;
	}
}
开发者ID:NullNoname,项目名称:dolphin,代码行数:8,代码来源:Interpreter_LoadStore.cpp


示例5: dcbz

void Interpreter::dcbz(UGeckoInstruction _inst)
{
	// HACK but works... we think
	if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bDCBZOFF)
		Memory::ClearCacheLine(Helper_Get_EA_X(_inst) & (~31));
	if (!JitInterface::GetCore())
		PowerPC::CheckExceptions();
}
开发者ID:diegobill,项目名称:dolphin,代码行数:8,代码来源:Interpreter_LoadStore.cpp


示例6: lwbrx

void Interpreter::lwbrx(UGeckoInstruction _inst)
{
	u32 temp = Common::swap32(Memory::Read_U32(Helper_Get_EA_X(_inst)));
	if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI))
	{
		m_GPR[_inst.RD] = temp;
	}
}
开发者ID:NullNoname,项目名称:dolphin,代码行数:8,代码来源:Interpreter_LoadStore.cpp


示例7: dcbz

void Interpreter::dcbz(UGeckoInstruction _inst)
{
    // HACK but works... we think
    if (!Core::g_CoreStartupParameter.bDCBZOFF)
        Memory::Memset(Helper_Get_EA_X(_inst) & (~31), 0, 32);
    if (!JitInterface::GetCore())
        PowerPC::CheckExceptions();
}
开发者ID:mauriciofelippe,项目名称:dolphin-emu,代码行数:8,代码来源:Interpreter_LoadStore.cpp


示例8: lhzx

void Interpreter::lhzx(UGeckoInstruction inst)
{
  const u32 temp = (u32)PowerPC::Read_U16(Helper_Get_EA_X(inst));

  if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI))
  {
    rGPR[inst.RD] = temp;
  }
}
开发者ID:TurboK234,项目名称:dolphin,代码行数:9,代码来源:Interpreter_LoadStore.cpp


示例9: lfsx

void Interpreter::lfsx(UGeckoInstruction _inst)
{
	u32 uTemp = Memory::Read_U32(Helper_Get_EA_X(_inst));
	if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI))
	{
		double value = *(float*)&uTemp;
		rPS0(_inst.FD) = value;
		rPS1(_inst.FD) = value;
	}
}
开发者ID:NullNoname,项目名称:dolphin,代码行数:10,代码来源:Interpreter_LoadStore.cpp


示例10: lfsx

void Interpreter::lfsx(UGeckoInstruction _inst)
{
	u32 uTemp = PowerPC::Read_U32(Helper_Get_EA_X(_inst));
	if (!(PowerPC::ppcState.Exceptions & EXCEPTION_DSI))
	{
		u64 value = ConvertToDouble(uTemp);
		riPS0(_inst.FD) = value;
		riPS1(_inst.FD) = value;
	}
}
开发者ID:BananaMuffinFrenzy,项目名称:dolphin,代码行数:10,代码来源:Interpreter_LoadStore.cpp


示例11: Helper_Get_EA_X

void Interpreter::dcbf(UGeckoInstruction _inst)
{
	//This should tell GFX backend to throw out any cached data here
	// !!! SPEEDUP HACK for OSProtectRange !!!
/*	u32 tmp1 = PowerPC::HostRead_U32(PC+4);
	u32 tmp2 = PowerPC::HostRead_U32(PC+8);

	if ((tmp1 == 0x38630020) &&
		(tmp2 == 0x4200fff8))
	{
		NPC = PC + 12;
	}*/
	u32 address = Helper_Get_EA_X(_inst);
	JitInterface::InvalidateICache(address & ~0x1f, 32, false);
}
开发者ID:BananaMuffinFrenzy,项目名称:dolphin,代码行数:15,代码来源:Interpreter_LoadStore.cpp


示例12: GenerateProgramException

void Interpreter::dcbz_l(UGeckoInstruction inst)
{
  if (!HID2.LCE)
  {
    GenerateProgramException();
    return;
  }

  const u32 address = Helper_Get_EA_X(inst);

  if (!HID0.DCE)
  {
    GenerateAlignmentException(address);
    return;
  }

  // FAKE: clear memory instead of clearing the cache block
  PowerPC::ClearCacheLine(address & (~31));
}
开发者ID:TurboK234,项目名称:dolphin,代码行数:19,代码来源:Interpreter_LoadStore.cpp



注:本文中的Helper_Get_EA_X函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ HexDump函数代码示例发布时间:2022-05-30
下一篇:
C++ Helper_Get_EA_U函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap