Ejemplo n.º 1
0
void Assembler::mov(Immediate val, Register dest, bool force_64bit_load) {
    force_64bit_load = force_64bit_load || !val.fitsInto32Bit();

    int rex = force_64bit_load ? REX_W : 0;
    int dest_idx = dest.regnum;
    if (dest_idx >= 8) {
        rex |= REX_B;
        dest_idx -= 8;
    }

    if (rex)
        emitRex(rex);
    emitByte(0xb8 + dest_idx);
    emitUInt(val.val, force_64bit_load ? 8 : 4);
}
Ejemplo n.º 2
0
void checkLeftShift() {
	int Value = 0x00001122;
	emitUInt(Value << 16);
	emitUInt(Value << GlobalShiftValue);
}