public void Shr32(X86Address mem, byte count) { if (count == 1) { writer.Write(new byte[] { 0xD1 }); mem.Emit(writer, (X86Register8)5); } else { writer.Write(new byte[] { 0xC1 }); mem.Emit(writer, (X86Register8)5); imm_emit8(count); } }
public void Shl32(X86Address mem, byte count) { if (count == 1) { writer.Write(new byte[] { 0xD1 }); mem.Emit(writer, (X86Register8)4); } else { writer.Write(new byte[] { 0xC1 }); mem.Emit(writer, (X86Register8)4); imm_emit8(count); } }
public void Call_Far(X86Address address) { this.writer.Write(new byte[] { 0xFF }); address.Emit(writer, (X86Register32)0x3); }
public void Mul32(X86Address src) { writer.Write(new byte[] { 0xF7 }); src.Emit(writer, (X86Register8)4); }
public void Push32(X86Address addr) { writer.Write(new byte[] { 0xFF }); addr.Emit(writer, (X86Register8)6); }
public void Or32(X86Address dest, X86Register32 src) { writer.Write(new byte[] { 0x09 }); dest.Emit(writer, src); }
public void Shr64(X86Address left, X86Register32 right, byte count) { writer.Write(new byte[] { 0x0F, 0xAC }); left.Emit(writer, right); imm_emit8(count); }
public void Cmp16(X86Address dest, Int16 src) { writer.Write(new byte[] { 0x66, 0x81 }); dest.Emit(writer, (X86Register8)7); imm_emit16(src); }
public void Shr16(X86Address mem) { writer.Write(new byte[] { 0x66, 0xD3 }); mem.Emit(writer, (X86Register8)5); }
public void Mov16(X86Address dest, Int16 value) { this.writer.Write(new byte[] { 0x66, 0xc7 }); dest.Emit(writer, X86Register32.None); this.writer.Write(value); }
public void Cmp32(X86Address dest, Int32 src) { writer.Write(new byte[] { 0x81 }); dest.Emit(writer, (X86Register8)7); imm_emit32(src); }
public void Jmp(X86Address address) { this.writer.Write(new byte[] { 0xFF }); address.Emit(writer, (X86Register32)0x4); }
public void Cmp8(X86Address dest, Byte src) { writer.Write(new byte[] { 0x80 }); dest.Emit(writer, (X86Register8)7); imm_emit8(src); }
public void Not16(X86Address dest) { writer.Write(new byte[] { 0x66, 0xF7 }); dest.Emit(writer, (X86Register8)2); }
public void Not32(X86Address dest) { writer.Write(new byte[] { 0xF7 }); dest.Emit(writer, (X86Register8)2); }
public void IMul8(X86Address dest, Byte value) { this.writer.Write(new byte[] { 0x80 }); dest.Emit(writer, X86Register32.None); writer.Write(value); }
public void Div8(X86Address src) { writer.Write(new byte[] { 0xF6 }); src.Emit(writer, (X86Register8)6); }
public void IMul16(X86Address dest, X86Register16 src) { writer.Write(new byte[] { 0x66, 0x01 }); dest.Emit(writer, src); }
public void Mov32(X86Address dest, X86Register32 src) { this.writer.Write(new byte[] { 0x89 }); dest.Emit(writer, src); }
public void Mov32(X86Register32 dest, X86Address src) { this.writer.Write(new byte[] { 0x8b }); src.Emit(writer, dest); }
public void IMul16(X86Register16 dest, X86Address src) { writer.Write(new byte[] { 0x66, 0x03 }); src.Emit(writer, dest); }
public void Shl32(X86Address mem) { writer.Write(new byte[] { 0xD3 }); mem.Emit(writer, (X86Register8)4); }
public void CmpXChg32(X86Address dest, X86Register32 src) { writer.Write(new byte[] { 0x0F, 0xB1 }); dest.Emit(writer, src); }
public void Shl64(X86Address left, X86Register32 right, byte count) { writer.Write(new byte[] { 0x0F, 0xA4 }); left.Emit(writer, right); imm_emit8(count); }
public void Or8(X86Address dest, Byte value) { this.writer.Write(new byte[] { 0x80 }); dest.Emit(writer, (X86Register8)0x1); writer.Write(value); }
public void Shl64(X86Address left, X86Register32 right) { writer.Write(new byte[] { 0x0F, 0xA5 }); left.Emit(writer, right); }
public void AddC32(X86Address dest, Int32 value) { this.writer.Write(new byte[] { 0x81 }); dest.Emit(writer, (X86Register32)0x2); writer.Write(value); }
public void Negate32(X86Address dest) { writer.Write(new byte[] { 0xF7 }); dest.Emit(writer, (X86Register8)3); }
public void Pop32(X86Address addr) { writer.Write(new byte[] { 0x8F }); addr.Emit(writer, (X86Register8)0); }
public void Inc32(X86Address mem) { writer.Write(new byte[] { 0xFF }); mem.Emit(writer, (X86Register8)0); }
public void Xor16(X86Address dest, Int16 value) { this.writer.Write(new byte[] { 0x66, 0x81 }); dest.Emit(writer, (X86Register16)6); writer.Write(value); }
public void Shl16(X86Address mem) { writer.Write(new byte[] { 0x66, 0xD3 }); mem.Emit(writer, (X86Register8)4); }
public void Mov8(X86Address dest, Byte value) { this.writer.Write(new byte[] { 0xc6 }); dest.Emit(writer, X86Register32.None); this.writer.Write(value); }
public void IDiv16(X86Address src) { writer.Write(new byte[] { 0x66, 0xF7 }); src.Emit(writer, (X86Register8)7); }
public void Mov32(X86Address dest, Int32 value) { this.writer.Write(new byte[] { 0xc7 }); dest.Emit(writer, X86Register32.None); this.writer.Write(value); }
public void Shr64(X86Address left, X86Register32 right) { writer.Write(new byte[] { 0x0F, 0xAD }); left.Emit(writer, right); }
public void Shr32(X86Address mem) { writer.Write(new byte[] { 0xD3 }); mem.Emit(writer, (X86Register8)5); }
public void IMul32(X86Address dest, Int32 value) { this.writer.Write(new byte[] { 0x81 }); dest.Emit(writer, X86Register32.None); writer.Write(value); }
public void AddC8(X86Address dest, X86Register8 src) { writer.Write(new byte[] { 0x10 }); dest.Emit(writer, src); }
public void IMul8(X86Address dest, X86Register8 src) { writer.Write(new byte[] { 0x00 }); dest.Emit(writer, src); }
public void AddC16(X86Address dest, X86Register16 src) { writer.Write(new byte[] { 0x66, 0x11 }); dest.Emit(writer, src); }
public void IMul8(X86Register8 dest, X86Address src) { writer.Write(new byte[] { 0x02 }); src.Emit(writer, dest); }
public void AddC32(X86Address dest, X86Register32 src) { writer.Write(new byte[] { 0x11 }); dest.Emit(writer, src); }
public void AddC8(X86Register8 dest, X86Address src) { writer.Write(new byte[] { 0x12 }); src.Emit(writer, dest); }
public void AddC16(X86Register16 dest, X86Address src) { writer.Write(new byte[] { 0x66, 0x13 }); src.Emit(writer, dest); }
public void Or32(X86Address dest, Int32 value) { this.writer.Write(new byte[] { 0x81 }); dest.Emit(writer, (X86Register32)0x1); writer.Write(value); }
public void AddC32(X86Register32 dest, X86Address src) { writer.Write(new byte[] { 0x13 }); src.Emit(writer, dest); }
public void Or32(X86Register32 dest, X86Address src) { writer.Write(new byte[] { 0x0B }); src.Emit(writer, dest); }
public void AddC8(X86Address dest, Byte value) { this.writer.Write(new byte[] { 0x80 }); dest.Emit(writer, (X86Register32)0x2); writer.Write(value); }
public void Or16(X86Address dest, Int16 value) { this.writer.Write(new byte[] { 0x66, 0x81 }); dest.Emit(writer, (X86Register16)0x1); writer.Write(value); }
public void IMul16(X86Address dest, Int16 value) { this.writer.Write(new byte[] { 0x66, 0x81 }); dest.Emit(writer, X86Register32.None); writer.Write(value); }