本文整理汇总了C++中EmitBYTE函数的典型用法代码示例。如果您正苦于以下问题:C++ EmitBYTE函数的具体用法?C++ EmitBYTE怎么用?C++ EmitBYTE使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了EmitBYTE函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DAEDALUS_ASSERT
//*****************************************************************************
// movsx dst, src (e.g. movsx eax, al)
//*****************************************************************************
void CAssemblyWriterX86::MOVSX8( EIntelReg idst, EIntelReg isrc )
{
DAEDALUS_ASSERT( IsValidMov8Reg( isrc ), "Invalid source register for 8 bit move" );
EmitBYTE(0x0F);
EmitBYTE(0xBE);
EmitBYTE(0xC0 | (idst<<3) | isrc);
}
示例2: EmitBYTE
//*****************************************************************************
// call dword ptr [mem + reg*4]
//*****************************************************************************
void CAssemblyWriterX86::CALL_MEM_PLUS_REGx4( void * mem, EIntelReg reg )
{
EmitBYTE(0xFF);
EmitBYTE(0x14);
EmitBYTE(0x85 | (reg<<3));
EmitDWORD((u32)mem);
}
示例3: EmitBYTE
//*****************************************************************************
// movzx reg1, reg2
//*****************************************************************************
void CAssemblyWriterX86::MOVZX(EIntelReg reg1, EIntelReg reg2, bool _8bit)
{
EmitBYTE(0x0f);
if (_8bit)
EmitBYTE(0xB6);
else
EmitBYTE(0xB7);
EmitBYTE(0xc0 | (reg1<<3) | reg2);
}
示例4: jump_location
//*****************************************************************************
//
//*****************************************************************************
CJumpLocation CAssemblyWriterX86::JumpConditionalLong( CCodeLabel target, u8 jump_type )
{
const u32 JUMP_LONG_LENGTH = 6;
CJumpLocation jump_location( mpAssemblyBuffer->GetJumpLocation() );
s32 offset( jump_location.GetOffset( target ) - JUMP_LONG_LENGTH );
EmitBYTE( 0x0f );
EmitBYTE( jump_type ); //
EmitDWORD( offset );
return jump_location;
}