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);
			}
		}
示例#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);
 }
示例#4
0
 public void AddC8(X86Register8 dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x10 });
     reg_emit8(dest, src);
 }
示例#5
0
 public void Shl8(X86Register8 reg)
 {
     writer.Write(new byte[] { 0xD2 });
     reg_emit8((X86Register8)4, reg);
 }
示例#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);
		}
示例#8
0
 public void Negate8(X86Register8 dest)
 {
     writer.Write(new byte[] { 0xF6 });
     reg_emit8((X86Register8)3, dest);
 }
示例#9
0
		public void Negate8(X86Register8 dest) {
			writer.Write(new byte[] { 0xF6 });
			reg_emit8((X86Register8)3, dest);
		}
示例#10
0
		public void Sub8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x2A });
			reg_emit8(dest, src);
		}
示例#11
0
		public void Cmp8(X86Register8 dest, Byte src) {
			writer.Write(new byte[] { 0x80 });
			reg_emit8((X86Register8)7, dest);
			imm_emit8(src);
		}
示例#12
0
		public void Cmp8(X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x38 });
			reg_emit8(dest, src);
		}
示例#13
0
		public void IMul8 (X86Register8 dest, X86Register8 src) {
			writer.Write(new byte[] { 0x0F, 0xAE });
			reg_emit8(dest, src);
		}
示例#14
0
		public void Mul8(X86Register8 src) {
			writer.Write(new byte[] { 0xF6 });
			reg_emit8((X86Register8)4, src);
		}
示例#15
0
		internal void Emit(BinaryWriter writer, X86Register8 otherReg) {
			this.Emit(writer, (byte)otherReg);
		}
示例#16
0
 public void Or8(X86Register8 dest, X86Register8 src)
 {
     writer.Write(new byte[] { 0x08 });
     reg_emit8(dest, src);
 }
示例#17
0
 public void Or8(X86Register8 dest, X86Address src)
 {
     writer.Write(new byte[] { 0x0A });
     src.Emit(writer, dest);
 }
示例#18
0
 public void Mov8(X86Register8 dest, Byte value)
 {
     this.writer.Write(new byte[] { 0xc6 });
     reg_emit8(0, dest);
     writer.Write(value);
 }
示例#19
0
 private void reg_emit8(X86Register8 dest, X86Register8 src)
 {
     address_byte(3, (byte)(dest), (byte)(src));
 }
示例#20
0
 public void Mov8(X86Address dest, X86Register8 src)
 {
     this.writer.Write(new byte[] { 0x88 });
     dest.Emit(writer, src);
 }
示例#21
0
		public void Inc8(X86Register8 reg) {
			writer.Write(new byte[] { 0xFE });
			reg_emit8((X86Register8)0, reg);
		}
示例#22
0
 public void Mov8(X86Register8 dest, X86Address src)
 {
     this.writer.Write(new byte[] { 0x8a });
     src.Emit(writer, dest);
 }
示例#23
0
		public void Shr8(X86Register8 reg) {
			writer.Write(new byte[] { 0xD2 });
			reg_emit8((X86Register8)5, reg);
		}
示例#24
0
		public void Mov8(X86Register8 dest, Byte value) {
			this.writer.Write(new byte[] { 0xc6 });
			reg_emit8(0, dest);
			writer.Write(value);
		}
示例#25
0
 public void IDiv8(X86Register8 src)
 {
     writer.Write(new byte[] { 0xF6 });
     reg_emit8((X86Register8)7, src);
 }
示例#26
0
		public void Mov8(X86Address dest, X86Register8 src) {
			this.writer.Write(new byte[] { 0x88 });
			dest.Emit(writer, src);
		}
示例#27
0
		public void Mov8(X86Register8 dest, X86Address src) {
			this.writer.Write(new byte[] { 0x8a });
			src.Emit(writer, dest);
		}
示例#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);
		}
示例#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);
		}
示例#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);
		}
示例#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);
		}
示例#37
0
		private void reg_emit8(X86Register8 dest, X86Register8 src) {
			address_byte(3, (byte)(dest), (byte)(src));
		}
示例#38
0
 internal void Emit(BinaryWriter writer, X86Register8 otherReg)
 {
     this.Emit(writer, (byte)otherReg);
 }
示例#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);
		}