Cosmos/source2/Cosmos.Assembler.XSharp/RegisterAX.cs
kudzu_cp bde9fac959
2012-01-23 13:54:18 +00:00

33 lines
943 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cosmos.Compiler.Assembler;
using Cosmos.Compiler.Assembler.X86;
namespace Cosmos.Assembler.XSharp {
public class RegisterAX : Register16 {
public static readonly RegisterAX Instance = new RegisterAX();
public static implicit operator RegisterAX(ElementReference aReference) {
Instance.Move(aReference);
return Instance;
}
public static implicit operator RegisterAX(MemoryAction aAction) {
Instance.Move(aAction);
return Instance;
}
public static implicit operator RegisterAX(UInt16 aValue) {
Instance.Move(aValue);
return Instance;
}
public static implicit operator PortNumber(RegisterAX aAX)
{
return new PortNumber(aAX.GetId());
}
}
}