Cosmos/source/Indy.IL2CPU/Assembler/x86/Out.cs
mterwoord_cp ab7807cdb0
2008-11-08 14:48:06 +00:00

30 lines
809 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Indy.IL2CPU.Assembler.X86 {
[OpCode("out")]
public class Out: Instruction {
public byte Size {
get;
set;
}
public byte? Port {
get;
set;
}
public override string ToString() {
string xData = "";
switch(Size){
case 8: xData = "al"; break;
case 16: xData = "ax"; break;
case 32: xData = "eax"; break;
default: throw new Exception("Size " + Size + " not supported in OUT instruction");
}
return "out " + (Port.HasValue ? Port.ToString() : "DX") + ", " + xData;
}
}
}