static void __emit_pop_reg(struct buffer *buf, enum machine_reg reg) { unsigned char rex_pfx = 0, rm; rm = x86_encode_reg(reg); if (rex_pfx) emit(buf, rex_pfx); emit(buf, 0x58 + reg_low(rm)); }
static void __emit_push_reg(struct buffer *buf, enum machine_reg reg) { unsigned char rex_pfx = 0, rm; rm = x86_encode_reg(reg); if (reg_high(rm)) rex_pfx |= REX_B; if (rex_pfx) emit(buf, rex_pfx); emit(buf, 0x50 + reg_low(rm)); }