{"id":15060242,"url":"https://github.com/asmxfoundation/asmx-g2","last_synced_at":"2026-01-02T00:55:28.469Z","repository":{"id":244772645,"uuid":"815985531","full_name":"AsmXFoundation/AsmX-G2","owner":"AsmXFoundation","description":" 🚀The AsmX G2 (AsmX Generation 2)","archived":false,"fork":false,"pushed_at":"2024-07-07T13:37:13.000Z","size":155,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-15T05:14:51.917Z","etag":null,"topics":["asmx","asmx-compiler","assembler","compiler","compilers","future","hardware","innovation","irc-compiler","jit-compiler","low-level-programming","open-source","opensource","programming-language","programming-languages"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AsmXFoundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-16T18:23:25.000Z","updated_at":"2024-09-14T10:39:40.000Z","dependencies_parsed_at":"2025-01-21T20:39:12.403Z","dependency_job_id":null,"html_url":"https://github.com/AsmXFoundation/AsmX-G2","commit_stats":null,"previous_names":["lang-asmx/asmx-g2","asmxfoundation/asmx-g2"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsmXFoundation%2FAsmX-G2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsmXFoundation%2FAsmX-G2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsmXFoundation%2FAsmX-G2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsmXFoundation%2FAsmX-G2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AsmXFoundation","download_url":"https://codeload.github.com/AsmXFoundation/AsmX-G2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685585,"owners_count":20330982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asmx","asmx-compiler","assembler","compiler","compilers","future","hardware","innovation","irc-compiler","jit-compiler","low-level-programming","open-source","opensource","programming-language","programming-languages"],"created_at":"2024-09-24T22:54:53.804Z","updated_at":"2026-01-02T00:55:28.434Z","avatar_url":"https://github.com/AsmXFoundation.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# AsmX G2\n\n# Installation\nTo install AsmX G2, run the following command:\n```bash\ncd src \u0026\u0026 npm install\ncd ../\n```\n\n# Usage\nTo run AsmX G2, run the following command:\n```bash\n# Windows\nasmx /examples/hello.asmx\n\n# Linux\nasmx //examples/hello.asmx\n```\n\n## Table of Contents\n- [Chapter 1: Introduction to AsmX G2](#chapter-1-introduction-to-asmx-g2)\n- [Chapter 2: Setting Up the Development Environment](#chapter-2-setting-up-the-development-environment)\n- [Chapter 3: Basic Syntax and Structure](#chapter-3-basic-syntax-and-structure)\n- [Chapter 4: Updating AsmX G2](#chapter-4-updating-asmx-g2)\n\n\n## Chapter 1: Introduction to AsmX G2\nAsmX G2 is a powerful, low-level programming language designed for efficient and precise control over system resources. It combines the speed and flexibility of assembly language with modern programming constructs, making it an ideal choice for system-level programming, embedded systems, and performance-critical applications.\n\nIn this comprehensive guide, we will explore the intricacies of AsmX G2, starting from the basics and gradually progressing to advanced topics. Whether you are a beginner or an experienced programmer, this book will provide you with the knowledge and skills necessary to master AsmX G2 programming.\n\n## Chapter 2: Setting Up the Development Environment\nBefore diving into the world of AsmX G2 programming, it is essential to set up a proper development environment. In this chapter, we will guide you through the process of installing and configuring the necessary tools and dependencies.\n\n### Prerequisites\nTo begin programming in AsmX G2, you will need the following:\n- NodeJS (v18.16.1 or higher)\n- Git Bash\n- A text editor or Integrated Development Environment (IDE) such as VSCode\n\n### Installation Steps\n1. Download and install NodeJS from the official website (https://nodejs.org). Make sure to select the appropriate version for your operating system.\n2. Download and install Git Bash from the official website (https://git-scm.com).\n3. Download and install VSCode or your preferred text editor/IDE.\n\n### Cloning the AsmX G2 Repository\nTo access the AsmX G2 source code and examples, you need to clone the official repository from GitHub. Open Git Bash and execute the following command:\n```\ngit clone https://github.com/lang-AsmX/AsmX-G2.git\n```\n\nOnce the repository is successfully cloned, navigate to the `src` directory and install the necessary dependencies by running the following commands:\n```\ncd src \u0026\u0026 npm install\ncd ../\n```\n\nCongratulations! You have now set up your AsmX G2 development environment and are ready to start programming.\n\n## Chapter 3: Basic Syntax and Structure\nIn this chapter, we will explore the fundamental syntax and structure of AsmX G2 programs. Understanding these concepts is crucial for writing well-organized and efficient code.\n\n### The Main Function\nEvery AsmX G2 program must have a `main` function, which serves as the entry point of the program. The `main` function is defined using the `@function` keyword followed by the function name and a pair of parentheses. Here's an example:\n```\n@function main() {\n  ;; Your code goes here\n}\n```\n\nIt is important to note that AsmX G2 executes the `main` function only when it encounters its definition. Re-declaring the `main` function will result in an error.\n\n### Comments\nComments in AsmX G2 are denoted by the `;;` symbol. Any text following the `;;` symbol on a line is considered a comment and is ignored by the compiler. Comments are useful for adding explanatory notes and improving code readability. For example:\n```\n;; This is a single-line comment\n```\n\n### Hello, World! Program\nLet's write our first AsmX G2 program, the classic \"Hello, World!\" example. Open your text editor or IDE and create a new file with the following code:\n```\n@function main() {\n  @push \"Hello, World!\";\n  @system 4;\n}\n```\n\nLet's break down the code:\n- The `@push` instruction takes a single argument, which in this case is a string literal. It pushes a pointer to the string onto the stack.\n- The `@system` instruction takes a single argument of type `number`. It allows you to make system calls. In this example, the argument `4` indicates that we want to perform a standard output (stdout) operation.\n\nBefore printing, the `@system` instruction retrieves the last element from the stack, which is a 16-bit pointer, and uses it to read from memory. The stack exclusively stores 16-bit pointers.\n\nTo run the program, save the file and execute the following command in Git Bash:\n```\nasmx your_file_name.asmx\n```\n\nCongratulations! You have just written and executed your first AsmX G2 program.\n\n## Chapter 4: Updating AsmX G2\n\nAsmX G2 now includes a convenient command to update to the latest version. To use this feature, simply run:\n```\nasmx update\n```\nThis command will:\n\n1. Check for the latest stable version of AsmX G2\n2. Download the new version if available\n3. Install the update\n4. Restart the AsmX G2 service (if applicable)\n\n### Notes:\n- Ensure you have an active internet connection when running the update command.\n- The update process may require administrative privileges, depending on your system configuration.\n- It's recommended to back up your current AsmX G2 configuration before updating.\n- If you encounter any issues during the update process, please refer to our troubleshooting guide or open an issue on our GitHub repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmxfoundation%2Fasmx-g2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasmxfoundation%2Fasmx-g2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmxfoundation%2Fasmx-g2/lists"}