In our last article, we spoke about TypeScript. Today, we are going to discuss about X# in COSMOS.
What is X#?
X sharp is a high-level assembly language that targets x86 architecture and it is developed by Microsoft .Net. Design of X# is similar to C language but it is used as a low-level programming language. The X# compiler parses lines of code into tokens and compares them with patterns. Finally, matched X# code patterns are translated to Intel x86 assembly, usually for the NASM Netwide compiler.
Where is X# Used?
X# is high-level assembly language and it is used by COSMOS to make operating system developed much easier.
COSMOS abbreviated as C# Open Source Managed Operating System. One can build their own operating system in Visual Studio 2017 by integrating COSMOS to Visual Studio and to test developed operating system virtual machines like Vmware Player is used.
Basics of X# language:
Data-types:
X sharp supports 8 bits value as defined by the byte keyword, 16 bits value as defined by word keyword and 32 bits value as defined by dword keyword.
Literals:
A string literal is surrounded by single quote and backslash(\) is used as escape character. For example,
An Integer literal values are in two types, one is decimal and other is hexadecimal. The Dollar sign is used as a prefix in hexadecimal values. For example,
Comments:
A comment must appear on its own line. You can’t mix code and comments on a single line. A comment line is one that starts with two consecutive slashes. Whitespaces may be inserted before the comment line. For example :
Namespaces:
A namespace is a naming scope that lets you organize your code to avoid naming collision. You declare a namespace by using the namespace keyword and giving it a name. The code inside a namespace has no way to reference or use code or data from another namespace. For Example,
Constants:
Constants are declared outside the function and it requires ‘const’ keyword before constant’s name. For Example,
Labels:
Labels in X# are mostly equivalent to labels in other assembly languages. Keyword goto is used to jump between labels. For Example,
Functions:
Functions are defined by ‘function’ keyword. It does not support formal parameter declaration in the header of function. Conventional parenthesis after function name is not required. Because line-fixed patterns are specified in syntax implemented in code parser, the opening curly bracket can’t be placed on the next line, unlike in many other C-style languages. X# function calls do contain arguments enclosed in parentheses, unlike in function headers. Arguments passed to functions can be registers, addresses, or constants. These arguments are pushed onto the stack in reverse order. For Example,
Conclusion
9series has experts with experience in Xsharp. It is a high-level assembly language developed By Microsoft. We are among the top .net mvc development companies in India. Stay tuned for our next article!
Bibliography:
https://en.wikipedia.org/wiki/Cosmos_(operating_system)#X.23
https://www.xsharp.info/
https://www.x-sharp.net/
https://www.gocosmos.org/
https://www.visualstudio.com
https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html