{"id":16552682,"url":"https://github.com/deveshsangwan/two-pass-assembler","last_synced_at":"2026-05-19T14:06:34.932Z","repository":{"id":105586179,"uuid":"296298562","full_name":"deveshsangwan/Two-pass-assembler","owner":"deveshsangwan","description":"A two pass assembler implementation in c++","archived":false,"fork":false,"pushed_at":"2020-10-02T16:47:10.000Z","size":111,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-15T02:35:12.144Z","etag":null,"topics":["assembler","cpp","two-pass-assembler"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deveshsangwan.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}},"created_at":"2020-09-17T10:50:30.000Z","updated_at":"2023-10-15T03:04:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"287315a4-562a-472b-9551-e2410728d4c9","html_url":"https://github.com/deveshsangwan/Two-pass-assembler","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/deveshsangwan%2FTwo-pass-assembler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deveshsangwan%2FTwo-pass-assembler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deveshsangwan%2FTwo-pass-assembler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deveshsangwan%2FTwo-pass-assembler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deveshsangwan","download_url":"https://codeload.github.com/deveshsangwan/Two-pass-assembler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241896788,"owners_count":20038791,"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","cpp","two-pass-assembler"],"created_at":"2024-10-11T19:45:47.319Z","updated_at":"2025-10-12T15:10:07.814Z","avatar_url":"https://github.com/deveshsangwan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Two-Pass-Assembler\nBy [Devesh Sangwan](https://github.com/deveshsangwan), [Shikhar Panwar](https://github.com/shikharpanwar4)\n\nThis is a simple C++ implementation for a Two pass assembler.\n\n# Overview of the Code\n## pass1: \n- Extracts all symbols and sections.\n- A symbol and section table is generated and are stored in a csv file.\n## pass2: \n- Each instruction is converted to machine code. \n- The programs again reads the symbol table to get address and size associated with each symbol.\n\n\n## Other Functions:\n- \u003cb\u003edec_to_bin(int)\u003c/b\u003e : Converts the given decimal number to the \u003cb\u003eBinary String\u003c/b\u003e\n- \u003cb\u003esearch_MOT(string)\u003c/b\u003e : It searchers the MOT for the Machine Operation Code and returns the \u003cb\u003eindex\u003c/b\u003e.\n- \u003cb\u003esearch_symbol_table(string)\u003c/b\u003e : It searches the symbol_table and returns the \u003cb\u003eaddress\u003c/b\u003e of the symbol.\n- \u003cb\u003eget_size(string)\u003c/b\u003e : It returns the size of the symbol/operation.\n- \u003cb\u003eget_data(string)\u003c/b\u003e : It extracts data from string and converts it into its binary equivalent.\n- \u003cb\u003estore_symbol_table()\u003c/b\u003e : Stores symbol table in csv format.\n- \u003cb\u003estore_sec()\u003c/b\u003e : Store section table in csv.\n\n\n## Structures:\n- \u003cb\u003emnemonics\u003c/b\u003e : Machine Operation Table\n- \u003cb\u003esymbol\u003c/b\u003e : Symbol Table\n- \u003cb\u003esection\u003c/b\u003e: Section Table\n\n## Data Structures:\n- Vector\n- File Stream\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveshsangwan%2Ftwo-pass-assembler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveshsangwan%2Ftwo-pass-assembler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveshsangwan%2Ftwo-pass-assembler/lists"}