{"id":30284650,"url":"https://github.com/jerboa88/mips-variable-replacer","last_synced_at":"2025-08-16T19:14:17.139Z","repository":{"id":310089909,"uuid":"175125343","full_name":"jerboa88/mips-variable-replacer","owner":"jerboa88","description":"A command-line tool to simplify development in MIPS assembly. Use easy to remember variable names in MIPS and map them to actual registers before assembling","archived":false,"fork":false,"pushed_at":"2025-08-09T06:59:54.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-15T18:14:44.415Z","etag":null,"topics":["mips","mips-architecture","mips-assembler","mips-assembly","precompiler","preprocessing","preprocessor","python","variable-substitution"],"latest_commit_sha":null,"homepage":"https://johng.io/p/mips-variable-replacer","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jerboa88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null},"funding":{"github":"jerboa88","patreon":"jerboa88"}},"created_at":"2019-03-12T03:06:45.000Z","updated_at":"2025-08-09T06:59:42.000Z","dependencies_parsed_at":"2025-08-15T18:14:46.165Z","dependency_job_id":"753a78e4-4252-4206-86fa-5997ac5f04a5","html_url":"https://github.com/jerboa88/mips-variable-replacer","commit_stats":null,"previous_names":["jerboa88/mips-variable-replacer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/jerboa88/mips-variable-replacer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerboa88%2Fmips-variable-replacer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerboa88%2Fmips-variable-replacer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerboa88%2Fmips-variable-replacer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerboa88%2Fmips-variable-replacer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerboa88","download_url":"https://codeload.github.com/jerboa88/mips-variable-replacer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerboa88%2Fmips-variable-replacer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270759351,"owners_count":24640432,"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","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["mips","mips-architecture","mips-assembler","mips-assembly","precompiler","preprocessing","preprocessor","python","variable-substitution"],"created_at":"2025-08-16T19:14:16.236Z","updated_at":"2025-08-16T19:14:17.131Z","avatar_url":"https://github.com/jerboa88.png","language":"Python","funding_links":["https://github.com/sponsors/jerboa88","https://patreon.com/jerboa88"],"categories":[],"sub_categories":[],"readme":"\u003c!-- Project Header --\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch1 class=\"projectName\"\u003eMIPS Variable Replacer\u003c/h1\u003e\n\n  \u003cp class=\"projectBadges info\"\u003e\n    \u003cimg src=\"https://johng.io/badges/category/App.svg\" alt=\"Project type\" title=\"Project type\"/\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/jerboa88/mips-variable-replacer.svg\" alt=\"Language\" title=\"Language\"/\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/jerboa88/mips-variable-replacer.svg\" alt=\"Repository size\" title=\"Repository size\"/\u003e\n    \u003ca href=\"LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/jerboa88/mips-variable-replacer.svg\" alt=\"Project license\" title=\"Project license\"/\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp class=\"projectBadges status\"\u003e\n    \u003ca href=\"https://unmaintained.tech/\"\u003e\n\t\t\t\u003cimg src=\"https://unmaintained.tech/badge.svg\" alt=\"No Maintenance Intended\" title=\"No Maintenance Intended\"/\u003e\n\t\t\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp class=\"projectDesc\"\u003e\n    A command-line tool to simplify development in MIPS assembly. Use easy to remember variable names in MIPS and map them to actual registers before assembling\n  \u003c/p\u003e\n  \n  \u003cbr/\u003e\n\u003c/div\u003e\n\n\u003e [!IMPORTANT]\n\u003e I've marked this project as [UNMAINTAINED](https://unmaintained.tech/) because it hasn't seen an update in a while. You can still fork/download/use this project at your own risk, but I won't be able to provide support or updates.\n\n\u003e [!WARNING]\n\u003e This script is intended to simplify MIPS coding and is not a substitute for properly learning the language yourself. Knowledge of MIPS registers and their functions are still necessary, even with this script. If you are learning MIPS, make sure you are able to program by hand. This script will not help you on assignments. Use at your own risk.\n\n\n## 👋About\nThis Python script is a sort of precompiler that lets you use custom register names in MIPS assembly. By running the script before you assemble, custom names are mapped to real registers you specify.\n\n### Features:\n- Warns when command line inputs are incorrect\n- Warns if you have defined variables you never use\n- Warns if you try to replace with invalid register names\n- Warns if you have formatted the definitions wrong\n- Warns if you have variables in your code that you have not added definitions more (very useful)\n- Tells you how many variables were replaced\n\n### Todo:\n- Add support for custom output filenames\n- Add option for keeping definitions in output file\n- Optimize for very large definition lists\n\n\n## 🕹️ Usage\nPut a definitions section somewhere in your MIPS assembly file that looks something like this:\n```\n# MVR\n# cat: s0\n# dog: t1\n# bird: a0\n# turtle: v0\n# MVR\n\n.text\nmain:\n# ...\nadd $cat, $bird, $zero\nand $turtle, $dog, $t3\njr $ra\n```\n\nThis section is removed when the script is run so you might want to put it at the bottom of your code. Make sure your definitions start and end with `# MVR`. The values on the left are your custom register names and the values on the right are the actual registers they are mapped to.\n\nRun `python3 mvr.py ORIGINALCODE.s` where `ORIGINALCODE.s` is your assembly code in the same directory to replace variable names.\n\nA new file is created in the same directory with the name `ORIGINALCODE_c.s` with the replaced registers.\n```\n.text\nmain:\n# ...\nadd $s0, $a0, $zero\nand $v0, $t1, $t3\njr $ra\n```\n\n\n## 🤝 Contributing\nThis is a personal project but forks and suggestions are welcome.\n\n\n## 🧾 License\nThis project is licensed under the Mozilla Public License 2.0. See [LICENSE](LICENSE) for details.\n\n\n## 💕 Funding\n\nFind this project useful? [Sponsoring me](https://johng.io/funding) will help me cover costs and **_commit_** more time to open-source.\n\nIf you can't donate but still want to contribute, don't worry. There are many other ways to help out, like:\n\n- 📢 reporting (submitting feature requests \u0026 bug reports)\n- 👨‍💻 coding (implementing features \u0026 fixing bugs)\n- 📝 writing (documenting \u0026 translating)\n- 💬 spreading the word\n- ⭐ starring the project\n\nI appreciate the support!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerboa88%2Fmips-variable-replacer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerboa88%2Fmips-variable-replacer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerboa88%2Fmips-variable-replacer/lists"}