{"id":29225658,"url":"https://github.com/muhammedikinci/16bitvm","last_synced_at":"2025-07-03T07:11:19.993Z","repository":{"id":302522001,"uuid":"1012116267","full_name":"muhammedikinci/16bitvm","owner":"muhammedikinci","description":"Developing 16bit virtual machine with Golang","archived":false,"fork":false,"pushed_at":"2025-07-02T21:20:21.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-02T21:27:02.273Z","etag":null,"topics":["16bit","golang","low-level","virtual-machine","vm"],"latest_commit_sha":null,"homepage":"https://ikinci.dev","language":"Go","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/muhammedikinci.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,"zenodo":null}},"created_at":"2025-07-01T20:52:15.000Z","updated_at":"2025-07-02T21:20:24.000Z","dependencies_parsed_at":"2025-07-02T21:27:41.258Z","dependency_job_id":"858fa27c-16c1-4f7e-88d7-2fce5f0ed49f","html_url":"https://github.com/muhammedikinci/16bitvm","commit_stats":null,"previous_names":["muhammedikinci/16bitvm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/muhammedikinci/16bitvm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammedikinci%2F16bitvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammedikinci%2F16bitvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammedikinci%2F16bitvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammedikinci%2F16bitvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhammedikinci","download_url":"https://codeload.github.com/muhammedikinci/16bitvm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammedikinci%2F16bitvm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263279305,"owners_count":23441683,"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":["16bit","golang","low-level","virtual-machine","vm"],"created_at":"2025-07-03T07:11:18.756Z","updated_at":"2025-07-03T07:11:19.975Z","avatar_url":"https://github.com/muhammedikinci.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 16bitvm\n\n---\n\n## Registers\n\n| Name | Description         |\n| ---- | ------------------- |\n| ip   | Instruction pointer |\n| acc  | Accumulator         |\n| r1   | General-purpose     |\n| r2   | General-purpose     |\n\n---\n\n## Opcodes\n\n| Opcode | Mnemonic    | Description                     | Format                                              |\n| ------ | ----------- | ------------------------------- | --------------------------------------------------- |\n| 0x10   | MOV_LIT_REG | Move literal into register      | 0x10 [lit_lo] [lit_hi] [reg_id]                     |\n| 0x11   | MOV_REG_REG | Move value between registers    | 0x11 [src_reg_id] [dest_reg_id]                     |\n| 0x12   | MOV_REG_MEM | Move register value to memory   | 0x12 [reg_id] [addr_lo] [addr_hi]                   |\n| 0x13   | MOV_MEM_REG | Load memory value into register | 0x13 [addr_lo] [addr_hi] [reg_id]                   |\n| 0x14   | ADD_REG_REG | Add two registers → acc         | 0x14 [reg1_id] [reg2_id]                            |\n| 0x15   | JMP_NOT_EQ  | Jump if reg != value            | 0x15 [reg_id] [val_lo] [val_hi] [addr_lo] [addr_hi] |\n\nAll literal and address values are 16-bit, little-endian.\n\n---\n\n## Example Memory Layout\n\n```\nAddress | Byte | Meaning\n--------|------|------------------------------\n0x00    | 0x10 | LOAD_LITERAL r1\n0x01    | 0x34 |\n0x02    | 0x12 | → r1 = 0x1234 = 4660\n\n0x03    | 0x11 | LOAD_LITERAL r2\n0x04    | 0xCD |\n0x05    | 0xAB | → r2 = 0xABCD = 43981\n\n0x06    | 0x12 | ADD r1, r2\n0x07    | 0x02 |\n0x08    | 0x03 | → acc = r1 + r2 = 48641\n```\n\n---\n\n## Run\n\n```bash\ngo run main.go\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhammedikinci%2F16bitvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuhammedikinci%2F16bitvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuhammedikinci%2F16bitvm/lists"}