From a0163de71da2c2eb31fae4ace6701ef594c2a3a5 Mon Sep 17 00:00:00 2001 From: mterwoord_cp <7cd3fd84a0151ea055c2f79e4d2eef9576fe9afesxUZAwxD> Date: Sun, 9 Nov 2008 18:10:39 +0000 Subject: [PATCH] --- .../Assembler/X86/BaseTest.cs | 2 +- .../Assembler/X86/MoveTests.cs | 13 +++++++++++++ .../MoveTests/ImmediateToRegister8.asm | 10 ++++++++++ .../MoveTests/ImmediateToRegister8.bin | 1 + .../Indy.IL2CPU.Tests/Indy.IL2CPU.Tests.csproj | 6 ++++++ source/Playgrounds/Matthijs/TestApp/Program.cs | 18 +++++++++--------- 6 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.asm create mode 100644 source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.bin diff --git a/source/Indy.IL2CPU.Tests/Assembler/X86/BaseTest.cs b/source/Indy.IL2CPU.Tests/Assembler/X86/BaseTest.cs index f716d521d..888bad3ed 100644 --- a/source/Indy.IL2CPU.Tests/Assembler/X86/BaseTest.cs +++ b/source/Indy.IL2CPU.Tests/Assembler/X86/BaseTest.cs @@ -37,7 +37,7 @@ namespace Indy.IL2CPU.Tests.Assembler.X86 { using (var xOut = new StringWriter()) { Assembler.FlushText(xOut); using (var xReader = new StreamReader(typeof(BaseTest).Assembly.GetManifestResourceStream(xManStreamName + ".asm"))) { - Assert.AreEqual(xReader.ReadToEnd().Replace(' ', '_').Replace('\t', '_'), xOut.ToString().Replace(' ', '_').Replace('\t', '_')); + Assert.AreEqual(xReader.ReadToEnd(), xOut.ToString()); } } } diff --git a/source/Indy.IL2CPU.Tests/Assembler/X86/MoveTests.cs b/source/Indy.IL2CPU.Tests/Assembler/X86/MoveTests.cs index 9634e5a52..92b703a11 100644 --- a/source/Indy.IL2CPU.Tests/Assembler/X86/MoveTests.cs +++ b/source/Indy.IL2CPU.Tests/Assembler/X86/MoveTests.cs @@ -34,6 +34,19 @@ namespace Indy.IL2CPU.Tests.Assembler.X86 { Verify(); } + [Test] + public void TestImmediateToRegister8() { + new Move { DestinationReg = Registers.AL, SourceValue = 1 }; + new Move { DestinationReg = Registers.BL, SourceValue = 2 }; + new Move { DestinationReg = Registers.CL, SourceValue = 3 }; + new Move { DestinationReg = Registers.DL, SourceValue = 4 }; + new Move { DestinationReg = Registers.AH, SourceValue = 1 }; + new Move { DestinationReg = Registers.BH, SourceValue = 2 }; + new Move { DestinationReg = Registers.CH, SourceValue = 3 }; + new Move { DestinationReg = Registers.DH, SourceValue = 4 }; + Verify(); + } + [Test] public void TestImmediateToMemorySimple8() { new Move { Size = 8, DestinationReg = Registers.EAX, DestinationIsIndirect = true, SourceValue = 65 }; diff --git a/source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.asm b/source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.asm new file mode 100644 index 000000000..2bd1f835c --- /dev/null +++ b/source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.asm @@ -0,0 +1,10 @@ +use32 +org 0x200000 + mov byte AL, 0x1 + mov byte BL, 0x2 + mov byte CL, 0x3 + mov byte DL, 0x4 + mov byte AH, 0x1 + mov byte BH, 0x2 + mov byte CH, 0x3 + mov byte DH, 0x4 diff --git a/source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.bin b/source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.bin new file mode 100644 index 000000000..10e1d09f0 --- /dev/null +++ b/source/Indy.IL2CPU.Tests/Assembler/X86/VerificationData/MoveTests/ImmediateToRegister8.bin @@ -0,0 +1 @@ +°³±²´·µ¶ \ No newline at end of file diff --git a/source/Indy.IL2CPU.Tests/Indy.IL2CPU.Tests.csproj b/source/Indy.IL2CPU.Tests/Indy.IL2CPU.Tests.csproj index feec3327a..6503c220a 100644 --- a/source/Indy.IL2CPU.Tests/Indy.IL2CPU.Tests.csproj +++ b/source/Indy.IL2CPU.Tests/Indy.IL2CPU.Tests.csproj @@ -73,6 +73,12 @@ + + + + + +