{"id":20491319,"url":"https://github.com/kunalpisolkar24/mpr_lab_codes","last_synced_at":"2025-10-12T11:52:39.207Z","repository":{"id":183465605,"uuid":"670185091","full_name":"kunalPisolkar24/MPR_Lab_Codes","owner":"kunalPisolkar24","description":"Collection of X86/64 assembly language practical codes for Savitribai Phule Pune University's Microprocessor Lab (210257).","archived":false,"fork":false,"pushed_at":"2023-09-11T03:38:30.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T17:40:03.243Z","etag":null,"topics":["80386","assembly","microprocessor"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kunalPisolkar24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2023-07-24T13:30:36.000Z","updated_at":"2025-01-31T05:07:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6d65a27-6430-47a4-afbf-6495190cd7ed","html_url":"https://github.com/kunalPisolkar24/MPR_Lab_Codes","commit_stats":null,"previous_names":["kunalpisolkar24/mpr_lab_codes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kunalPisolkar24/MPR_Lab_Codes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kunalPisolkar24%2FMPR_Lab_Codes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kunalPisolkar24%2FMPR_Lab_Codes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kunalPisolkar24%2FMPR_Lab_Codes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kunalPisolkar24%2FMPR_Lab_Codes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kunalPisolkar24","download_url":"https://codeload.github.com/kunalPisolkar24/MPR_Lab_Codes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kunalPisolkar24%2FMPR_Lab_Codes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279011188,"owners_count":26084900,"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-10-12T02:00:06.719Z","response_time":53,"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":["80386","assembly","microprocessor"],"created_at":"2024-11-15T17:22:35.326Z","updated_at":"2025-10-12T11:52:39.180Z","avatar_url":"https://github.com/kunalPisolkar24.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Assembly Language Microprocessor Lab Practical Codes for Savitribai Phule Pune University :computer: :microscope:\n[![GitHub license](https://img.shields.io/github/license/kunalPisolkar24/MPR_Lab_Codes)](https://github.com/kunalPisolkar24/MPR_Lab_Codes/blob/main/LICENSE)\n![GitHub last commit](https://img.shields.io/github/last-commit/kunalPisolkar24/MPR_Lab_Codes)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/kunalPisolkar24/MPR_Lab_Codes)\n\nWelcome to the Assembly Language Microprocessor Lab repository for Savitribai Phule Pune University! This repository contains a collection of practical codes for the Microprocessor Laboratory course (210257) in the Second Year of Computer Engineering (2019 Course). Let's explore the world of microprocessors and assembly language programming together! :rocket:\n\n📜 **Course Information:**  \n\n- **University:** Savitribai Phule Pune University\n- **Course Name:** Microprocessor Laboratory (210257)\n- **Companion Course:** Microprocessor (210254)\n- **Course Objectives:**\n  - To understand assembly language programming instruction set\n  - To understand different assembler directives with examples\n  - To apply instruction set for implementing X86/64 bit assembly language programs\n- **Course Outcomes:**\n  - CO1. Understand and apply various addressing modes and instruction set to implement assembly language programs\n  - CO2. Apply logic to implement code conversion\n  - CO3. Analyze and apply logic to demonstrate processor mode of operation\n\n🎯 **Course Topics Covered:**\n\n| Practical No. | Description |\n|---------------|-------------|\n| 1 | Write an X86/64 ALP to accept five 64-bit Hexadecimal numbers from the user and store them in an array and display the accepted numbers. |\n| 2 | Write an X86/64 ALP to accept a string and display its length. |\n| 3 | Write an X86/64 ALP to find the largest of given Byte/Word/Dword/64-bit numbers. |\n| 4 | Write an X86/64 ALP to count the number of positive and negative numbers from the array. |\n| 5 | Write X86/64 ALP to convert 4-digit Hex number into its equivalent BCD number and 5-digit BCD number into its equivalent HEX number. Make your program user-friendly to accept the choice from the user for: (a) HEX to BCD (b) BCD to HEX (c) EXIT. Display proper strings to prompt the user while accepting the input and displaying the result. (Wherever necessary, use 64-bit registers). |\n| 6 | Write X86/64 ALP to detect protected mode and display the values of GDTR, LDTR, IDTR, TR, and MSW Registers. |\n| 7 | Write X86/64 ALP to perform non-overlapped block transfer without string-specific instructions. The block containing data can be defined in the data segment. |\n| 8 | Write X86/64 ALP to perform overlapped block transfer with string-specific instructions. The block containing data can be defined in the data segment. |\n| 9 | Write X86/64 ALP to perform multiplication of two 8-bit hexadecimal numbers. Use successive addition and add and shift method. |\n| 10 | Write x86 ALP to find the factorial of a given integer number on the command line by using recursion. Explicit stack manipulation is expected in the code. |\n\n📄 **Instructions:**\n\nTo get started with a specific practical, navigate to the corresponding directory and access the code files. Each code file is thoroughly documented, providing clear instructions and explanations to aid your learning experience.\n\n🤝 **Contributions:**\n\nContributions from students, educators, and enthusiasts are highly encouraged. If you have additional practicals, improvements, or fixes to share, feel free to open a pull request. Please adhere to the contribution guidelines in [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n📄 **License:**\n\nThis repository is licensed under the [MIT License](./LICENSE). You are free to use, modify, and distribute the code for academic and personal purposes.\n\n👩‍💻 **Let's Learn Assembly Language and Explore the World of Microprocessors!** 👨‍💻\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkunalpisolkar24%2Fmpr_lab_codes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkunalpisolkar24%2Fmpr_lab_codes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkunalpisolkar24%2Fmpr_lab_codes/lists"}