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

C++ emit_2ub函数代码示例

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

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



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

示例1: x87_arith_op

static void x87_arith_op( struct x86_function *p, struct x86_reg dst, struct x86_reg arg,
			  unsigned char dst0ub0,
			  unsigned char dst0ub1,
			  unsigned char arg0ub0,
			  unsigned char arg0ub1,
			  unsigned char argmem_noreg)
{
   assert(dst.file == file_x87);

   if (arg.file == file_x87) {
      if (dst.idx == 0) 
	 emit_2ub(p, dst0ub0, dst0ub1+arg.idx);
      else if (arg.idx == 0) 
	 emit_2ub(p, arg0ub0, arg0ub1+arg.idx);
      else
	 assert(0);
   }
   else if (dst.idx == 0) {
      assert(arg.file == file_REG32);
      emit_1ub(p, 0xd8);
      emit_modrm_noreg(p, argmem_noreg, arg);
   }
   else
      assert(0);
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:25,代码来源:x86sse.c


示例2: emit_2ub

/* Always use a 32bit offset for forward jumps:
 */
unsigned char *x86_jcc_forward( struct x86_function *p,
			  enum x86_cc cc )
{
   emit_2ub(p, 0x0f, 0x80 + cc);
   emit_1i(p, 0);
   return x86_get_label(p);
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:9,代码来源:x86sse.c


示例3: sse_movss

void sse_movss( struct x86_function *p,
		struct x86_reg dst,
		struct x86_reg src )
{
   emit_2ub(p, 0xF3, X86_TWOB);
   emit_op_modrm( p, 0x10, 0x11, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c


示例4: sse_rsqrtps

void sse_rsqrtps( struct x86_function *p,
                  struct x86_reg dst,
                  struct x86_reg src )
{
   emit_2ub(p, X86_TWOB, 0x52);
   emit_modrm( p, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c


示例5: sse2_rcpps

void sse2_rcpps( struct x86_function *p,
                 struct x86_reg dst,
                 struct x86_reg src )
{
   emit_2ub(p, X86_TWOB, 0x53);
   emit_modrm( p, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c


示例6: sse2_movd

void sse2_movd( struct x86_function *p,
		struct x86_reg dst,
		struct x86_reg src )
{
   emit_2ub(p, 0x66, X86_TWOB);
   emit_op_modrm( p, 0x6e, 0x7e, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c


示例7: sse_prefetch1

void sse_prefetch1( struct x86_function *p, struct x86_reg ptr)
{
   DUMP_R( ptr );
   assert(ptr.mod != mod_REG);
   emit_2ub(p, 0x0f, 0x18);
   emit_modrm_noreg(p, 2, ptr);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c


示例8: mmx_emms

void mmx_emms( struct x86_function *p )
{
   DUMP();
   assert(p->need_emms);
   emit_2ub(p, 0x0f, 0x77);
   p->need_emms = 0;
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c


示例9: x86_jcc

void x86_jcc( struct x86_function *p,
	      enum x86_cc cc,
	      int label )
{
   int offset = label - (x86_get_label(p) + 2);
   DUMP_I(cc);
   
   if (offset < 0) {
      /*assert(p->csr - p->store > -offset);*/
      if (p->csr - p->store <= -offset) {
         /* probably out of memory (using the error_overflow buffer) */
         return;
      }
   }

   if (offset <= 127 && offset >= -128) {
      emit_1ub(p, 0x70 + cc);
      emit_1b(p, (char) offset);
   }
   else {
      offset = label - (x86_get_label(p) + 6);
      emit_2ub(p, 0x0f, 0x80 + cc);
      emit_1i(p, offset);
   }
}
开发者ID:ChillyWillyGuru,项目名称:RSXGL,代码行数:25,代码来源:rtasm_x86sse.c


示例10: x87_fucompp

void x87_fucompp( struct x86_function *p )
{
   DUMP();
   emit_2ub(p, 0xda, 0xe9);
   note_x87_pop(p);             /* pop twice */
   note_x87_pop(p);             /* pop twice */
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c


示例11: x87_fucomp

void x87_fucomp( struct x86_function *p, struct x86_reg arg )
{
   DUMP_R( arg );
   assert(arg.file == file_x87);
   emit_2ub(p, 0xdd, 0xe8+arg.idx);
   note_x87_pop(p);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c


示例12: sse2_cvtdq2ps

void sse2_cvtdq2ps( struct x86_function *p,
		   struct x86_reg dst,
		   struct x86_reg src )
{
   DUMP_RR( dst, src );
   emit_2ub(p, X86_TWOB, 0x5b);
   emit_modrm( p, dst, src );
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:8,代码来源:rtasm_x86sse.c


示例13: sse_xorps

void sse_xorps( struct x86_function *p,
                struct x86_reg dst,
                struct x86_reg src )
{
   DUMP_RR( dst, src );
   emit_2ub(p, X86_TWOB, 0x57);
   emit_modrm( p, dst, src );
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:8,代码来源:rtasm_x86sse.c


示例14: x86_imul

void x86_imul( struct x86_function *p,
	       struct x86_reg dst,
	       struct x86_reg src )
{
   DUMP_RR( dst, src );
   emit_2ub(p, X86_TWOB, 0xAF);
   emit_modrm(p, dst, src);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:8,代码来源:rtasm_x86sse.c


示例15: x86_jcc_forward

/* Always use a 32bit offset for forward jumps:
 */
int x86_jcc_forward( struct x86_function *p,
                     enum x86_cc cc )
{
   DUMP_I(cc);
   emit_2ub(p, 0x0f, 0x80 + cc);
   emit_1i(p, 0);
   return x86_get_label(p);
}
开发者ID:ChillyWillyGuru,项目名称:RSXGL,代码行数:10,代码来源:rtasm_x86sse.c


示例16: x87_fdivrp

void x87_fdivrp( struct x86_function *p, struct x86_reg dst )
{
   DUMP_R( dst );
   assert(dst.file == file_x87);
   assert(dst.idx >= 1);
   emit_2ub(p, 0xde, 0xf0+dst.idx);
   note_x87_pop(p);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:8,代码来源:rtasm_x86sse.c


示例17: sse_movlhps

void sse_movlhps( struct x86_function *p,
		  struct x86_reg dst,
		  struct x86_reg src )
{
   assert(dst.mod == mod_REG && src.mod == mod_REG);
   emit_2ub(p, X86_TWOB, 0x16);
   emit_modrm( p, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:8,代码来源:x86sse.c


示例18: x87_fst

void x87_fst( struct x86_function *p, struct x86_reg dst )
{
   if (dst.file == file_x87) 
      emit_2ub(p, 0xdd, 0xd0 + dst.idx);
   else {
      emit_1ub(p, 0xd9);
      emit_modrm_noreg(p, 2, dst);
   }
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:9,代码来源:x86sse.c


示例19: sse_movhlps

void sse_movhlps( struct x86_function *p,
		  struct x86_reg dst,
		  struct x86_reg src )
{
   DUMP_RR( dst, src );
   assert(dst.mod == mod_REG && src.mod == mod_REG);
   emit_2ub(p, X86_TWOB, 0x12);
   emit_modrm( p, dst, src );
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:9,代码来源:rtasm_x86sse.c


示例20: sse_cmpps

void sse_cmpps( struct x86_function *p,
		struct x86_reg dest,
		struct x86_reg arg0,
		unsigned char cc) 
{
   emit_2ub(p, X86_TWOB, 0xC2);
   emit_modrm(p, dest, arg0);
   emit_1ub(p, cc); 
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:9,代码来源:x86sse.c



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ emit_byte函数代码示例发布时间:2022-05-30
下一篇:
C++ emit_1ub函数代码示例发布时间: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