Exemplo n.º 1
0
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));
}
Exemplo n.º 2
0
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));
}
Exemplo n.º 3
0
static unsigned char encode_reg(struct use_position *reg)
{
	return x86_encode_reg(mach_reg(reg));
}