{"id":19428158,"url":"https://github.com/haseeeb21/calculator-assembly","last_synced_at":"2026-06-08T20:31:30.187Z","repository":{"id":169065443,"uuid":"544015960","full_name":"Haseeeb21/Calculator-Assembly","owner":"Haseeeb21","description":"A Scientific Calculator coded in Assembly Language which takes numbers as input and performs the selected operations and displays the result. Operations include +, -, x, /, %, Square, Cube and some Binary Operations.","archived":false,"fork":false,"pushed_at":"2022-12-31T09:08:39.000Z","size":237,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-17T20:31:57.923Z","etag":null,"topics":["assembly","assembly-language","assembly-language-programming","assembly-x86","emu8086"],"latest_commit_sha":null,"homepage":"","language":"Assembly","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/Haseeeb21.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":"2022-10-01T12:17:20.000Z","updated_at":"2025-05-13T02:56:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"10eb3475-f2af-4647-8e65-54772a7cbf46","html_url":"https://github.com/Haseeeb21/Calculator-Assembly","commit_stats":null,"previous_names":["haseeeb21/calculator-assembly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Haseeeb21/Calculator-Assembly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeeb21%2FCalculator-Assembly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeeb21%2FCalculator-Assembly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeeb21%2FCalculator-Assembly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeeb21%2FCalculator-Assembly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Haseeeb21","download_url":"https://codeload.github.com/Haseeeb21/Calculator-Assembly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haseeeb21%2FCalculator-Assembly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34080025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"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":["assembly","assembly-language","assembly-language-programming","assembly-x86","emu8086"],"created_at":"2024-11-10T14:14:16.965Z","updated_at":"2026-06-08T20:31:30.163Z","avatar_url":"https://github.com/Haseeeb21.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Calculator-Assembly\nA Scientific Calculator coded in Assembly Language which takes numbers as input and performs the selected operations and displays the result. Operations include +, -, x, /, %, Square, Cube and some Binary Operations.\n\n\n\n## Title:\nA Simple Scientific Calculator\n\n\n\n## Objective:\n\nThe goal of this project work is to utilize the concepts and knowledge of Assembly Language and use them in the Project. That is what I have learned so far and use the concepts of different Instructions in this project. And to understand the working of instructions and the code of Assembly Language using emulator EMU8086. \n\n\n## Theory:\n\nThe calculator that I build performs simple Mathematical Operations such as Addition, Subtraction, Multiplication and Division. Further it can perform NEG operation (changes the sign of the input), find the Modulus, calculate binary OR, binary AND, binary XOR, binary NOT, calculate Square and calculate Cube of the number. \n\n\n## Implementation:\n\nI used EMU8086.inc Library which provides built in functions such as:\nprint ‘STRING’ – For printing String\nscan_num – For taking Integer Input\nprint_num – For displaying value stored in register\nprintn – For printing New Line \n0dh and 0ah as well as print10 and print13 can also be used to move to new line.\n\n## Interrupts used:\n\n![image](https://user-images.githubusercontent.com/91841622/193595366-632555e2-1822-4a8e-b87f-34680da32fbd.png)\n![image](https://user-images.githubusercontent.com/91841622/193595387-c7492546-dd40-406e-9355-8b0c25ce1f35.png)\n\n\n \n\nI have made functions of different operations of the Calculator, such as\n\n### Addition:\n\n….\n\n..code..\n\n….\n\n### Subtraction:\n\n….\n\n..code..\n\n….\n\nEtc., \n\nIn data segment I have declared some variables as Uninitialized and some strings with string values.\n\n\n## Different Functions of Operations:\n\n-\tAddition\n\nAddition of two numbers.\n\n-\tSubtraction\n\nSubtraction of two numbers.\n\n-\tMultiplication\n\nMultiplication of two numbers.\n\n-\tDivision\n\nDivision of two numbers.\n\n-\tModulus\n\nModulus of two numbers.\n\n-\tNegate\n\nNegation of a number.\n\n-\tSquare\n\nSquare of a number.\n\n-\tCube \n\nCube of a number.\n\n-\tBinary OR\n\nOR of two numbers.\n\n-\tBinary AND\n\nAND of two numbers.\n\n-\tBinary XOR\n\nXOR of two numbers.\n\n-\tBinary NOT\n\nNOT of two numbers.\n\n-\tContinue \n\nAsks the user whether to use again or exit.\n\n-\tExit\n\nExits from the program.\n\n\n\n## Debugging-Test-Run\n\nWhen the user runs the program, a main menu will display as below in graphics mode.\n\n![image](https://user-images.githubusercontent.com/91841622/193596159-c2594c31-541f-4c7e-a878-fe57c5423d72.png)\n\n\nThe user will now input the operation number he would like to perform, such as 1 for addition, 2 for subtraction and so on,\n\n![image](https://user-images.githubusercontent.com/91841622/193596197-7daa145a-629e-4521-af93-5da560cfc30b.png)\n \n\nThen the user will be asked to enter two numbers to perform the selected operation after entering the number the operation will be performed and the answer will be displayed on the screen.\n\n![image](https://user-images.githubusercontent.com/91841622/193596234-de42a924-4074-497c-b1e0-be03d995d180.png)\n\n \n\n\n\n\n\n\nWith the answer displayed the option of using the calculator again will also be displayed. If the user enters 1 then the calculator will start again from beginning.\n\n![image](https://user-images.githubusercontent.com/91841622/193596254-5c3b5c28-c1c0-458f-be27-c3186b294ea3.png)\n\n\n \n\n\n\nIf the user enters 0 then the program will jump to exit function and then display the message and terminates the program.\n\n\n![image](https://user-images.githubusercontent.com/91841622/193596283-56fa7c5a-384e-404d-af49-168abf109182.png)\n\n \n\n\n\n\n\n\nAfter this the emulator will be halted and the program is executed.\n\n![image](https://user-images.githubusercontent.com/91841622/193596324-26d5afe1-98c0-4afe-a1a8-39b0d0202cf8.png)\n\n \n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaseeeb21%2Fcalculator-assembly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaseeeb21%2Fcalculator-assembly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaseeeb21%2Fcalculator-assembly/lists"}