本文整理匯總了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;
}