{"id":15648129,"url":"https://github.com/noracodes/mlem_asm","last_synced_at":"2025-08-03T16:37:03.379Z","repository":{"id":84925751,"uuid":"87226158","full_name":"NoraCodes/mlem_asm","owner":"NoraCodes","description":"An assembler for the MLeM VM.","archived":false,"fork":false,"pushed_at":"2018-12-02T02:38:20.000Z","size":27,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-05T01:25:01.434Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/NoraCodes.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":"2017-04-04T19:22:03.000Z","updated_at":"2018-12-02T02:38:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"9ef1b7e2-4896-499a-aac6-04cb744380fc","html_url":"https://github.com/NoraCodes/mlem_asm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoraCodes%2Fmlem_asm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoraCodes%2Fmlem_asm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoraCodes%2Fmlem_asm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NoraCodes%2Fmlem_asm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NoraCodes","download_url":"https://codeload.github.com/NoraCodes/mlem_asm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246258885,"owners_count":20748573,"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":[],"created_at":"2024-10-03T12:23:39.598Z","updated_at":"2025-03-29T23:28:58.738Z","avatar_url":"https://github.com/NoraCodes.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mlem-asm\n\n[![Crates.io version badge](https://img.shields.io/crates/v/mlem-asm.svg)](https://crates.io/crates/mlem-asm)\n[![Docs.rs version badge](https://docs.rs/mlem-asm/badge.svg)](https://docs.rs/mlem-asm/)\n\nThis crate provides an assembler for the [MLeM](https://github.com/leotindall/mlem) virtual machine.\nIt assembles codes like this:\n\n```\n; a simple program that prints some ASCII characters\n; from space to tilde\nmove 96  R7     ; 0 Set the counter\nmove 31  R0     ; 1 Set the initial value to output\nadd R0 1        ; 2 Increment the value to output\noutput R0       ; 3 Output that value\nsub R7 1        ; 4 Update the counter\njnz 2 R7        ; 5 Loop if the counter is not 0\nhalt            ; 6 Allow the program to complete successfully\n```\n\nThis is, in fact, the contents of `test.asm`. The provided front-end can be used to\nassemble and run this program, thus:\n\n```\n$ cargo run r test.asm\n    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs\n     Running `target/debug/examples/mlem-asm r /home/leo/Projects/mlem-asm/test.asm`\n !\"#$%\u0026'()*+,-./0123456789:;\u003c=\u003e?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\nHalt\n```\n\nUsing mlem-asm, this program is assembled into the following hex (in test.bin):\n\n```\nd9d9 f787 8302 8203 1860 8200 0783 0282 \n0318 1f82 0000 8305 8200 0082 0301 8203\n8200 0083 0682 0007 8203 0183 0982 0302\n8200 070c\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoracodes%2Fmlem_asm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoracodes%2Fmlem_asm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoracodes%2Fmlem_asm/lists"}