{"id":15060256,"url":"https://github.com/cameronclay/asm-vm","last_synced_at":"2026-01-26T09:34:07.148Z","repository":{"id":228097002,"uuid":"773154546","full_name":"CameronClay/asm-vm","owner":"CameronClay","description":"This is a two-pass assembler which converts assembly code into byte-code which can then be run on the virtual machine.","archived":false,"fork":false,"pushed_at":"2024-06-10T21:44:20.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T05:14:43.393Z","etag":null,"topics":["assembler","boost-program-options","boost-test","cmake","cpp20","cpp20-modules","multithreading","stl","vcpkg","virtual-machine"],"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/CameronClay.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-03-16T22:28:49.000Z","updated_at":"2024-06-11T23:58:01.000Z","dependencies_parsed_at":"2024-05-21T03:48:14.120Z","dependency_job_id":"6ab83f8b-1af6-4eff-8dfe-9a8c919c2a6a","html_url":"https://github.com/CameronClay/asm-vm","commit_stats":null,"previous_names":["cameronclay/asm-vm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronClay%2Fasm-vm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronClay%2Fasm-vm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronClay%2Fasm-vm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CameronClay%2Fasm-vm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CameronClay","download_url":"https://codeload.github.com/CameronClay/asm-vm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685583,"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":["assembler","boost-program-options","boost-test","cmake","cpp20","cpp20-modules","multithreading","stl","vcpkg","virtual-machine"],"created_at":"2024-09-24T22:55:14.367Z","updated_at":"2026-01-26T09:34:07.121Z","avatar_url":"https://github.com/CameronClay.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Assembler and Virtual machine\nTwo-pass assembler which converts assembly code into byte-code which can then be run on the virtual machine. Based on Reduced Instruction Set Computing (RISC) architecture.\n\n## How to run\n```\nAllowed options:\n  -h [ --help ]                   Produce help message\n  -m [ --mem-sz ] arg (=2)        Specifies the amount of memory in MB for use\n                                  in assembling and running in the virtual\n                                  machine.\n  -t [ --max-thrd ] arg (=15)     Specifies the maximum number of threads the\n                                  virtual machine will support. Making use of\n                                  the threads requires use of multithreaded\n                                  instructions.\n  -f [ --input-file ] arg         Specifies the source file to be assembled and\n                                  run.\n  -l [ --log ] arg (=log.dat)     Enables debug logging to specified filename\n                                  via TRAP calls.\n  -i [ --inst-per-thrd ] arg (=1) Specifies how many instructions are run per\n                                  thread before initiating a context switch.\n  -d [ --dump ]                   Output the bytecode to a .byt file instead of\n                                  running it (incompatible when loading a .byt\n                                  file).\n```\n\n### Unit Testing\n- Unit testing done with Boost.Test.\n\n### Tooling\n- C++ 20 (with **C++ 20 modules**)\n- CMake\n- Boost.Test\n- Boost.Program_options\n- vcpkg\n- Visual Studio Code\n- MSVC compiler\n\n### Note\nThe code for this project is private but I am more than happy to show and explain the code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcameronclay%2Fasm-vm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcameronclay%2Fasm-vm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcameronclay%2Fasm-vm/lists"}