本文整理汇总了C++中X64Assembler::emitCM方法的典型用法代码示例。如果您正苦于以下问题:C++ X64Assembler::emitCM方法的具体用法?C++ X64Assembler::emitCM怎么用?C++ X64Assembler::emitCM使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类X64Assembler
的用法示例。
在下文中一共展示了X64Assembler::emitCM方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testEmitMethods
//.........这里部分代码省略.........
e.emitIM(op, rsp, rbp, sz::qword, 0xF1, -128);
e.emitIM(op, noreg, noreg, sz::byte, 0xF1F1, 127);
e.emitIM(op, noreg, noreg, sz::byte, 0xF1F1, 1);
e.emitIM(op, r14, rdi, sz::word, -128, 0xF1F1F1F1);
e.emitIM(op, r13, noreg, sz::dword, 127, 0xF1);
e.emitIM(op, noreg, rbp, sz::byte, 127, 0xF1);
e.emitIM(op, r12, rbp, sz::qword, 0xF1, -128);
e.emitIM(op, noreg, noreg, sz::byte, 0xF1F1, 127);
e.emitIM(op, noreg, noreg, sz::byte, 0xF1F1, 1);
e.emitIM(op, rsi, r15, sz::word, -128, 0xF1F1F1F1);
e.emitIM(op, rbp, noreg, sz::dword, 127, 0xF1);
e.emitIM(op, noreg, r13, sz::byte, 127, 0xF1);
e.emitIM(op, rsp, r13, sz::qword, 0xF1, -128);
e.emitIM(op, noreg, noreg, sz::byte, 0xF1F1, 127);
e.emitIM(op, noreg, noreg, sz::byte, 0xF1F1, 1);
if (i == 13 /*instr_mov*/) {
e.emitIM(op, rsi, rdi, sz::word, -128, 0x1234123412341234);
e.emitIM(op, r14, rdi, sz::word, -128, 0x1234123412341234);
e.emitIM(op, rsi, r15, sz::word, -128, 0x1234123412341234);
}
}
if (supported_AM[i] & MASK_CI) {
printf(" Address mode: CI\n");
e.emitCI(op, CC_NE, 0xF1F1F1F1);
e.emitCI(op, CC_G, 0xF1);
e.emitCI(op, CC_S, -128);
e.emitCI(op, CC_O, 127);
e.emitCI(op, CC_O, 1);
}
if (supported_AM[i] & MASK_CMR) {
printf(" Address mode: CMR\n");
e.emitCMR(op, CC_NE, rsi, rdi, sz::word, -128, rax);
e.emitCMR(op, CC_G, rbp, noreg, sz::dword, 127, rcx);
e.emitCMR(op, CC_G, noreg, rbp, sz::byte, 127, rcx);
e.emitCMR(op, CC_S, rsp, rbp, sz::qword, 0xF1, rbp);
e.emitCMR(op, CC_O, noreg, noreg, sz::byte, 0xF1F1, rsp);
e.emitCMR(op, CC_NE, rsi, rdi, sz::word, -128, r8);
e.emitCMR(op, CC_G, rbp, noreg, sz::dword, 127, r9);
e.emitCMR(op, CC_G, noreg, rbp, sz::byte, 127, r9);
e.emitCMR(op, CC_S, rsp, rbp, sz::qword, 0xF1, r13);
e.emitCMR(op, CC_O, noreg, noreg, sz::byte, 0xF1F1, r12);
e.emitCMR(op, CC_NE, r14, rdi, sz::word, -128, rax);
e.emitCMR(op, CC_G, r13, noreg, sz::dword, 127, rcx);
e.emitCMR(op, CC_G, noreg, rbp, sz::byte, 127, rcx);
e.emitCMR(op, CC_S, r12, rbp, sz::qword, 0xF1, rbp);
e.emitCMR(op, CC_O, noreg, noreg, sz::byte, 0xF1F1, rsp);
e.emitCMR(op, CC_NE, r14, rdi, sz::word, -128, r8);
e.emitCMR(op, CC_G, r12, noreg, sz::dword, 127, r9);
e.emitCMR(op, CC_G, noreg, rbp, sz::byte, 127, r9);
e.emitCMR(op, CC_S, r12, rbp, sz::qword, 0xF1, r13);
e.emitCMR(op, CC_O, noreg, noreg, sz::byte, 0xF1F1, r12);
}
if (supported_AM[i] & MASK_CR) {
printf(" Address mode: CR\n");
e.emitCR(op, CC_NE, rax);
e.emitCR(op, CC_G, rcx);
e.emitCR(op, CC_S, rbp);
e.emitCR(op, CC_O, rsp);
e.emitCR(op, CC_NE, r8);
e.emitCR(op, CC_G, r9);
e.emitCR(op, CC_S, r13);
e.emitCR(op, CC_O, r12);
}