{"id":21946180,"url":"https://github.com/grdsdev/tisa","last_synced_at":"2026-04-28T23:04:14.254Z","repository":{"id":123154990,"uuid":"148903550","full_name":"grdsdev/tisa","owner":"grdsdev","description":"tisa is an emulator for the Tiny ISA","archived":false,"fork":false,"pushed_at":"2020-04-29T10:05:13.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-27T17:58:39.004Z","etag":null,"topics":["c","emulator","interpreter"],"latest_commit_sha":null,"homepage":"","language":"C","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/grdsdev.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}},"created_at":"2018-09-15T13:16:56.000Z","updated_at":"2023-02-02T20:41:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"d7fa4ffa-ff9a-48fa-9e78-af35d1b9314d","html_url":"https://github.com/grdsdev/tisa","commit_stats":null,"previous_names":["grdsdev/tisa"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grdsdev%2Ftisa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grdsdev%2Ftisa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grdsdev%2Ftisa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grdsdev%2Ftisa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grdsdev","download_url":"https://codeload.github.com/grdsdev/tisa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244985810,"owners_count":20542889,"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":["c","emulator","interpreter"],"created_at":"2024-11-29T04:29:25.737Z","updated_at":"2026-04-28T23:04:09.224Z","avatar_url":"https://github.com/grdsdev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TISA\nTISA stands for Tiny ISA.\n\n## Bulding and executing\n\nFor building the project we're using cmake.\n```\nmkdir build\ncd build\ncmake ..\nmake\n```\n\nThen run with:\n`./tisa ../input.s --dump`\n\n\n## Supported instructions\n\n- ADD rx, ry // rx = rx + ry\n- SUB rx, ry\n- DIV rx, ry\n- MUL rx, ry\n- BRZ rx, DES // PC += DES se rx = 0\n- BRNZ rx, DES // PC += DES se rx != 0\n- BRLZ rx, DES // PC += DES se rx \u003c 0\n- BRGZ rx, DES // PC += DES se rx \u003e 0\n- IBRZ rx, ADR // PC = MEM(ADR) se rx = 0\n- MOV rx, ry // rx = ry\n- LOADM rx, ADR // rx = MEM(ADR)\n- STOREM rx, ADR // MEM(ADR) = rx\n- LOADI rx, VAL // rx = VAL\n- WRITE rx // printf(“%d\\n”, rx)\n- READ rx // scanf(“%d”, rx)\n- EXIT // exit(0)\n\n## Example\n\n```c\nint x = 0;\nfor (int i = 100; i \u003e 0; i--) {\n  for (int k = i; k \u003e 0; k--) {\n    x += k;\n  }\n}\nprintf(\"%d\\n\", x);\n```\n\nThe `C` code above is translated to:\n\n```assembly\nLOADI r1, 0\nLOADI r3, 1\nLOADI r2, 100\nMOV r4, r2\nADD r1, r4\nSUB r4, r3\nBRNZ r4, -2\nSUB r2, r3\nBRNZ r2, -5\nWRITE r1\nEXIT\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrdsdev%2Ftisa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrdsdev%2Ftisa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrdsdev%2Ftisa/lists"}