diff --git a/Arrowgene.Services.Playground/Demo/TcpEchoDemo.cs b/Arrowgene.Services.Playground/Demo/TcpEchoDemo.cs index 4d0e6ab..cc35ff2 100644 --- a/Arrowgene.Services.Playground/Demo/TcpEchoDemo.cs +++ b/Arrowgene.Services.Playground/Demo/TcpEchoDemo.cs @@ -32,6 +32,7 @@ private void LogProviderOnLogWrite(object sender, LogWriteEventArgs logWriteEven public void Start() { + AsyncEventSettings settings = new AsyncEventSettings(); _consumer = new BlockingQueueConsumer(); _server = new AsyncEventServer(IPAddress.IPv6Any, 2345, _consumer,settings); diff --git a/Arrowgene.Services/Assembly/OpCode.cs b/Arrowgene.Services/Assembly/OpCode.cs new file mode 100644 index 0000000..0951c0b --- /dev/null +++ b/Arrowgene.Services/Assembly/OpCode.cs @@ -0,0 +1,7 @@ +namespace Arrowgene.Services.Assembly +{ + public abstract class OpCode + { + // https://github.com/libcpu/libcpu/blob/master/arch/x86/x86_decode.cpp + } +} \ No newline at end of file diff --git a/Arrowgene.Services/Assembly/X86/ROL.cs b/Arrowgene.Services/Assembly/X86/ROL.cs new file mode 100644 index 0000000..bbdc336 --- /dev/null +++ b/Arrowgene.Services/Assembly/X86/ROL.cs @@ -0,0 +1,19 @@ +using System; + +namespace Arrowgene.Services.Assembly.X86 +{ + public class ROL : OpCode + { + public static UInt64 RotateLeft(UInt64 x, int n) { + return (x << n) | (x >> (64-n)); + } + + public static UInt32 RotateLeft(UInt32 x, int n) { + return (x << n) | (x >> (32-n)); + } + + public static UInt16 RotateLeft(UInt16 x, int n) { + return (ushort) ((x << n) | (x >> (16-n))); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Services/Assembly/X86/ROR.cs b/Arrowgene.Services/Assembly/X86/ROR.cs new file mode 100644 index 0000000..8c9b782 --- /dev/null +++ b/Arrowgene.Services/Assembly/X86/ROR.cs @@ -0,0 +1,22 @@ +using System; + +namespace Arrowgene.Services.Assembly.X86 +{ + public class ROR : OpCode + { + public static UInt64 RotateRight(UInt64 x, int n) + { + return (x >> n) | (x << (64 - n)); + } + + public static UInt32 RotateRight(UInt32 x, int n) + { + return (x >> n) | (x << (32 - n)); + } + + public static UInt16 RotateRight(UInt16 x, int n) + { + return (ushort) ((x >> n) | (x << (16 - n))); + } + } +} \ No newline at end of file diff --git a/services.version b/services.version index f0df1f7..d9ee657 100644 --- a/services.version +++ b/services.version @@ -1 +1 @@ -1.13.2 \ No newline at end of file +1.13.3 \ No newline at end of file