public void Shr8(X86Register8 reg, byte count) {
			if (count == 1) {
				writer.Write(new byte[] { 0xD0 });
				reg_emit8((X86Register8)5, reg);
			} else {
				writer.Write(new byte[] { 0xC0 });
				reg_emit8((X86Register8)5, reg);
				imm_emit8(count);
			}
		}
Beispiel #2
0
 public void Shl8(X86Register8 reg, byte count)
 {
     if (count == 1)
     {
         writer.Write(new byte[] { 0xD0 });
         reg_emit8((X86Register8)4, reg);
     }
     else
     {
         writer.Write(new byte[] { 0xC0 });
         reg_emit8((X86Register8)4, reg);
         imm_emit8(count);
     }
 }
 public void CmpXChg8(X86Address dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x0F, 0xB0 });
     dest.Emit(writer, src);
 }
Beispiel #4
0
 public void AddC8(X86Register8 dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x10 });
     reg_emit8(dest, src);
 }
Beispiel #5
0
 public void Shl8(X86Register8 reg)
 {
     writer.Write(new byte[] { 0xD2 });
     reg_emit8((X86Register8)4, reg);
 }
Beispiel #6
0
 public void IMul8(X86Register8 dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x0F, 0xAE });
     reg_emit8(dest, src);
 }
		public void CmpXChg8(X86Address dest, X86Register8 src) {
			writer.Write(new byte[] { 0x0F, 0xB0 });
			dest.Emit(writer, src);
		}
Beispiel #8
0
 public void Negate8(X86Register8 dest)
 {
     writer.Write(new byte[] { 0xF6 });
     reg_emit8((X86Register8)3, dest);
 }
Beispiel #9
0
		public void Negate8(X86Register8 dest) {
			writer.Write(new byte[] { 0xF6 });
			reg_emit8((X86Register8)3, dest);
		}
		public void Sub8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x2A });
			reg_emit8(dest, src);
		}
Beispiel #11
0
		public void Cmp8(X86Register8 dest, Byte src) {
			writer.Write(new byte[] { 0x80 });
			reg_emit8((X86Register8)7, dest);
			imm_emit8(src);
		}
Beispiel #12
0
		public void Cmp8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x38 });
			reg_emit8(dest, src);
		}
		public void IMul8 (X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x0F, 0xAE });
			reg_emit8(dest, src);
		}
		public void Mul8(X86Register8 src) {
			writer.Write(new byte[] { 0xF6 });
			reg_emit8((X86Register8)4, src);
		}
Beispiel #15
0
		internal void Emit(BinaryWriter writer, X86Register8 otherReg) {
			this.Emit(writer, (byte)otherReg);
		}
Beispiel #16
0
 public void Or8(X86Register8 dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x08 });
     reg_emit8(dest, src);
 }
Beispiel #17
0
 public void Or8(X86Register8 dest, X86Address src)
 {
     writer.Write(new byte[] { 0x0A });
     src.Emit(writer, dest);
 }
Beispiel #18
0
 public void Mov8(X86Register8 dest, Byte value)
 {
     this.writer.Write(new byte[] { 0xc6 });
     reg_emit8(0, dest);
     writer.Write(value);
 }
Beispiel #19
0
 private void reg_emit8(X86Register8 dest, X86Register8 src)
 {
     address_byte(3, (byte)(dest), (byte)(src));
 }
Beispiel #20
0
 public void Mov8(X86Address dest, X86Register8 src)
 {
     this.writer.Write(new byte[] { 0x88 });
     dest.Emit(writer, src);
 }
		public void Inc8(X86Register8 reg) {
			writer.Write(new byte[] { 0xFE });
			reg_emit8((X86Register8)0, reg);
		}
Beispiel #22
0
 public void Mov8(X86Register8 dest, X86Address src)
 {
     this.writer.Write(new byte[] { 0x8a });
     src.Emit(writer, dest);
 }
		public void Shr8(X86Register8 reg) {
			writer.Write(new byte[] { 0xD2 });
			reg_emit8((X86Register8)5, reg);
		}
Beispiel #24
0
		public void Mov8(X86Register8 dest, Byte value) {
			this.writer.Write(new byte[] { 0xc6 });
			reg_emit8(0, dest);
			writer.Write(value);
		}
Beispiel #25
0
 public void IDiv8(X86Register8 src)
 {
     writer.Write(new byte[] { 0xF6 });
     reg_emit8((X86Register8)7, src);
 }
Beispiel #26
0
		public void Mov8(X86Address dest, X86Register8 src) {
			this.writer.Write(new byte[] { 0x88 });
			dest.Emit(writer, src);
		}
Beispiel #27
0
		public void Mov8(X86Register8 dest, X86Address src) {
			this.writer.Write(new byte[] { 0x8a });
			src.Emit(writer, dest);
		}
Beispiel #28
0
		public void Mov8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x8a });
			reg_emit8(dest, src);
		}
 public void CmpXChg8(X86Register8 dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x0F, 0xB0 });
     reg_emit8(src, dest);
 }
		public void AddC8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x10 });
			reg_emit8(dest, src);
		}
Beispiel #31
0
 public void Cmp8(X86Register8 dest, Byte src)
 {
     writer.Write(new byte[] { 0x80 });
     reg_emit8((X86Register8)7, dest);
     imm_emit8(src);
 }
		public void AddC8(X86Address dest, X86Register8 src) {
			writer.Write(new byte[] { 0x10 });
			dest.Emit(writer, src);
		}
Beispiel #33
0
 public void Or8(X86Address dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x08 });
     dest.Emit(writer, src);
 }
		public void AddC8(X86Register8 dest, X86Address src) {
			writer.Write(new byte[] { 0x12 });
			src.Emit(writer, dest);
		}
Beispiel #35
0
 public void Or8(X86Register8 dest, Byte value)
 {
     this.writer.Write(new byte[] { 0x80 });
     reg_emit8((X86Register8)1, dest);
     writer.Write(value);
 }
		public void AddC8(X86Register8 dest, Byte value) {
			this.writer.Write(new byte[] { 0x80 });
			reg_emit8((X86Register8)0x2, dest);
			writer.Write(value);
		}
Beispiel #37
0
		private void reg_emit8(X86Register8 dest, X86Register8 src) {
			address_byte(3, (byte)(dest), (byte)(src));
		}
Beispiel #38
0
 internal void Emit(BinaryWriter writer, X86Register8 otherReg)
 {
     this.Emit(writer, (byte)otherReg);
 }
Beispiel #39
0
 public void Inc8(X86Register8 reg)
 {
     writer.Write(new byte[] { 0xFE });
     reg_emit8((X86Register8)0, reg);
 }
		public void CmpXChg8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x0F, 0xB0 });
			reg_emit8(src, dest);
		}