コード例 #1
0
ファイル: OperandRewriter.cs プロジェクト: killbug2004/reko
 public Constant CreateConstant(ImmediateOperand imm, PrimitiveType dataWidth)
 {
     if (dataWidth.BitSize > imm.Width.BitSize)
         return Constant.Create(dataWidth, imm.Value.ToInt64());
     else
         return Constant.Create(imm.Width, imm.Value.ToUInt32());
 }
コード例 #2
0
ファイル: OperandRewriter.cs プロジェクト: killbug2004/reko
 public override Address ImmediateAsAddress(Address address, ImmediateOperand imm)
 {
     return Address.Ptr64(imm.Value.ToUInt64());
 }
コード例 #3
0
ファイル: OperandRewriter.cs プロジェクト: killbug2004/reko
 public override Address ImmediateAsAddress(Address address, ImmediateOperand imm)
 {
     return Address.SegPtr(address.Selector, imm.Value.ToUInt32());
 }
コード例 #4
0
ファイル: OperandRewriter.cs プロジェクト: killbug2004/reko
 public abstract Address ImmediateAsAddress(Address address, ImmediateOperand imm);
コード例 #5
0
		public void X86Orw32_ImmediateExtend()
		{
			var imm = new ImmediateOperand(Constant.SByte(-1));
			var c = (Constant) orw.Transform(null, imm, PrimitiveType.Word16, state);
			Assert.AreEqual("0xFFFF", c.ToString());
		}
コード例 #6
0
		public void X86Orw32_Immediate()
		{
			var imm = new ImmediateOperand(Constant.Word16(0x0003));
			var c = (Constant) orw.Transform(null, imm, imm.Width, state);
			Assert.AreEqual("0x0003", c.ToString());
		}