本文整理汇总了C++中X64Assembler::store_reg64_disp_reg64方法的典型用法代码示例。如果您正苦于以下问题:C++ X64Assembler::store_reg64_disp_reg64方法的具体用法?C++ X64Assembler::store_reg64_disp_reg64怎么用?C++ X64Assembler::store_reg64_disp_reg64使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类X64Assembler
的用法示例。
在下文中一共展示了X64Assembler::store_reg64_disp_reg64方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deltaFits
StoreImmPatcher::StoreImmPatcher(X64Assembler& as, uint64_t initial,
register_name_t reg,
int32_t offset, register_name_t base) {
is32 = deltaFits(initial, sz::dword);
if (is32) {
as.store_imm64_disp_reg64(initial, offset, base);
} else {
as.mov_imm64_reg(initial, reg);
as.store_reg64_disp_reg64(reg, offset, base);
}
m_addr = as.code.frontier - (is32 ? 4 : 8);
ASSERT((is32 ? (uint64_t)*(int32_t*)m_addr : *(uint64_t*)m_addr) == initial);
}
示例2: deltaFits
StoreImmPatcher::StoreImmPatcher(CodeBlock& cb, uint64_t initial,
RegNumber reg,
int32_t offset, RegNumber base) {
X64Assembler as { cb };
m_is32 = deltaFits(initial, sz::dword);
if (m_is32) {
as.store_imm64_disp_reg64(initial, offset, base);
m_addr = cb.frontier() - 4;
} else {
as.mov_imm64_reg(initial, reg);
m_addr = cb.frontier() - 8;
as.store_reg64_disp_reg64(reg, offset, base);
}
assert((m_is32 ? (uint64_t)*(int32_t*)m_addr : *(uint64_t*)m_addr)
== initial);
}