public void EmitsData()
        {
            var instr = new DeclareData<ushort>(0xABCD, 0xEF01);
            Assert.AreEqual(new ushort[]{0xABCD, 0xEF01}, instr.Data);

            var emittable = instr.Construct(Context).First() as RawEmittable;
            Assert.AreEqual(new byte[]{0xCD, 0xAB, 0x01, 0xEF}, emittable.Content);
        }
        public void EmitsData()
        {
            Func<Context, SimpleExpression> expression = (context) => new SimpleExpression(context.Address);
            var size = DataSize.Bit32;
            var instr = new DeclareData(expression, size);
            Assert.AreEqual(expression, instr.Expression);
            Assert.AreEqual(size, instr.Size);

            Int128 value = 0xDEADBEEF;
            Context.Address = value;

            var emittable = instr.Construct(Context).First() as ExpressionEmittable;
            Assert.AreEqual(value, emittable.Expression.Constant);
            Assert.IsNull(emittable.Expression.Reference);
            Assert.AreEqual(size, emittable.Size);
        }