public void EmitsSpecifiedBytes() { var instr = new Align(8, 0xAB); Assert.AreEqual(0xAB, instr.PaddingByte); Assert.AreEqual(8, instr.Boundary); Context.Address = 5; var emittable = instr.Construct(Context).First() as RawEmittable; Assert.AreEqual(new byte[] { 0xAB, 0xAB, 0xAB }, emittable.Content); #if OPERAND_SET instr.PaddingByte = 0xCD; emittable = instr.Construct(Context) as RawEmittable; Assert.AreEqual(new byte[] { 0xCD, 0xCD, 0xCD }, emittable.Content); #endif }
public void EmitsNullBytes() { var instr = new Align(4); Assert.AreEqual(0x00, instr.PaddingByte); Assert.AreEqual(4, instr.Boundary); Context.Address = 1; var emittable = instr.Construct(Context).First() as RawEmittable; Assert.AreEqual(new byte[] { 0x00, 0x00, 0x00 }, emittable.Content); #if OPERAND_SET instr.Boundary = 8; emittable = instr.Construct(Context) as RawEmittable; Assert.AreEqual(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, emittable.Content); #endif }