Cosmos/source2/IL2PCU/Cosmos.IL2CPU.X86/X86/Cmps.cs
mterwoord_cp 9d3e3e1977
2010-08-01 14:54:27 +00:00

38 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Cosmos.IL2CPU.X86.X86
{
[OpCode("cmps")]
public class Cmps: InstructionWithSize, IInstructionWithPrefix {
public static void InitializeEncodingData(Instruction.InstructionData aData) {
}
public InstructionPrefixes Prefixes {
get;
set;
}
public override void WriteText(Cosmos.IL2CPU.Assembler aAssembler, System.IO.TextWriter aOutput )
{
if ((Prefixes & InstructionPrefixes.RepeatNotEqual) != 0)
{
aOutput.Write("repne ");
}
switch (Size) {
case 32:
aOutput.Write("cmpsd");
return;
case 16:
aOutput.Write("cmpsw");
return;
case 8:
aOutput.Write("smpsb");
return;
default: throw new Exception("Size not supported!");
}
}
}
}