本文整理汇总了C++中emit_1ub函数的典型用法代码示例。如果您正苦于以下问题:C++ emit_1ub函数的具体用法?C++ emit_1ub怎么用?C++ emit_1ub使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了emit_1ub函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: x87_fnstcw
void x87_fnstcw( struct x86_function *p, struct x86_reg dst )
{
DUMP_R( dst );
assert(dst.file == file_REG32);
emit_1ub(p, 0x9b); /* WAIT -- needed? */
emit_1ub(p, 0xd9);
emit_modrm_noreg(p, 7, dst);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:9,代码来源:rtasm_x86sse.c
示例2: x86_mov16_imm
void x86_mov16_imm( struct x86_function *p, struct x86_reg dst, uint16_t imm )
{
DUMP_RI( dst, imm );
emit_1ub(p, 0x66);
if(dst.mod == mod_REG)
{
emit_1ub(p, 0xb8 + dst.idx);
emit_2ub(p, imm & 0xff, imm >> 8);
}
开发者ID:ChillyWillyGuru,项目名称:RSXGL,代码行数:9,代码来源:rtasm_x86sse.c
示例3: x86_push
void x86_push( struct x86_function *p,
struct x86_reg reg )
{
DUMP_R( reg );
if (reg.mod == mod_REG)
emit_1ub(p, 0x50 + reg.idx);
else
{
emit_1ub(p, 0xff);
emit_modrm_noreg(p, 6, reg);
}
p->stack_offset += 4;
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:15,代码来源:rtasm_x86sse.c
示例4: x87_fistp
void x87_fistp( struct x86_function *p, struct x86_reg dst )
{
DUMP_R( dst );
emit_1ub(p, 0xdb);
emit_modrm_noreg(p, 3, dst);
note_x87_pop(p);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c
示例5: x87_fild
void x87_fild( struct x86_function *p, struct x86_reg arg )
{
DUMP_R( arg );
emit_1ub(p, 0xdf);
emit_modrm_noreg(p, 0, arg);
note_x87_push(p);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c
示例6: sse_movups
void sse_movups( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_1ub(p, X86_TWOB);
emit_op_modrm( p, 0x10, 0x11, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c
示例7: x86_test
void x86_test( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_1ub(p, 0x85);
emit_modrm( p, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c
示例8: 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
示例9: x87_fldcw
void x87_fldcw( struct x86_function *p, struct x86_reg arg )
{
assert(arg.file == file_REG32);
assert(arg.mod != mod_REG);
emit_1ub(p, 0xd9);
emit_modrm_noreg(p, 5, arg);
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c
示例10: x86_mul
/* Calculate EAX * src, results in EDX:EAX.
*/
void x86_mul( struct x86_function *p,
struct x86_reg src )
{
DUMP_R( src );
emit_1ub(p, 0xf7);
emit_modrm_noreg(p, 4, src );
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:9,代码来源:rtasm_x86sse.c
示例11: 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
示例12: x86_dec
void x86_dec( struct x86_function *p,
struct x86_reg reg )
{
DUMP_R( reg );
assert(reg.mod == mod_REG);
emit_1ub(p, 0x48 + reg.idx);
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:7,代码来源:rtasm_x86sse.c
示例13: x86_jmp_forward
int x86_jmp_forward( struct x86_function *p)
{
DUMP();
emit_1ub(p, 0xe9);
emit_1i(p, 0);
return x86_get_label(p);
}
开发者ID:ChillyWillyGuru,项目名称:RSXGL,代码行数:7,代码来源:rtasm_x86sse.c
示例14: x86_pop
void x86_pop( struct x86_function *p,
struct x86_reg reg )
{
assert(reg.mod == mod_REG);
emit_1ub(p, 0x58 + reg.idx);
p->stack_offset -= 4;
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c
示例15: x86_lea
void x86_lea( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_1ub(p, 0x8d);
emit_modrm( p, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:7,代码来源:x86sse.c
示例16: sse_movaps
void sse_movaps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
DUMP_RR( dst, src );
emit_1ub(p, X86_TWOB);
emit_op_modrm( p, 0x28, 0x29, dst, src );
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:8,代码来源:rtasm_x86sse.c
示例17: mmx_movq
void mmx_movq( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
p->need_emms = 1;
emit_1ub(p, X86_TWOB);
emit_op_modrm( p, 0x6f, 0x7f, dst, src );
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:8,代码来源:x86sse.c
示例18: x86_mov_reg_imm
void x86_mov_reg_imm( struct x86_function *p, struct x86_reg dst, int imm )
{
DUMP_RI( dst, imm );
assert(dst.file == file_REG32);
assert(dst.mod == mod_REG);
emit_1ub(p, 0xb8 + dst.idx);
emit_1i(p, imm);
}
开发者ID:ChillyWillyGuru,项目名称:RSXGL,代码行数:8,代码来源:rtasm_x86sse.c
示例19: x86_group1_imm
/**
* Immediate group 1 instructions.
*/
static INLINE void
x86_group1_imm( struct x86_function *p,
unsigned op, struct x86_reg dst, int imm )
{
assert(dst.file == file_REG32);
assert(dst.mod == mod_REG);
if(-0x80 <= imm && imm < 0x80) {
emit_1ub(p, 0x83);
emit_modrm_noreg(p, op, dst);
emit_1b(p, (char)imm);
}
else {
emit_1ub(p, 0x81);
emit_modrm_noreg(p, op, dst);
emit_1i(p, imm);
}
}
开发者ID:CPFDSoftware-Tony,项目名称:gmv,代码行数:20,代码来源:rtasm_x86sse.c
示例20: sse_movlps
void sse_movlps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
assert(dst.mod != mod_REG || src.mod != mod_REG);
emit_1ub(p, X86_TWOB);
emit_op_modrm( p, 0x12, 0x13, dst, src ); /* cf movhlps */
}
开发者ID:Multi2Sim,项目名称:m2s-bench-parsec-3.0-src,代码行数:8,代码来源:x86sse.c
注:本文中的emit_1ub函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论