
#define BITMASK(b7, b6, b5, b4, b3, b2, b1, b0) \
	b7 << 7 | b6 << 6 | b5 << 5 | b4 << 4 | \
	b3 << 3 | b2 << 2 | b1 << 1 | b0 << 0

bool add_block(cmem& mem, uint8* data, int size) {
	mem.push(data, size);
	return true;
}

// ---- XOR -----
//Example: xor  ax, ax
int _XOR_R(cmem& mem, uint8 reg) {
	uint8 op = BITMASK(0, 0, 1, 1, 0, 0, 0, 1);
	uint8 modrm = BITMASK(1, 1, 0, 0, 0, 0, 0, 0);
	uint16 opcode = (op << 7) | modrm;
	add_block(mem, (uint8 *)&opcode, 2);
	return 2;
}

