Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kunalpisolkar24/mpr_lab_codes

Collection of X86/64 assembly language practical codes for Savitribai Phule Pune University's Microprocessor Lab (210257).
https://github.com/kunalpisolkar24/mpr_lab_codes

80386 assembly microprocessor

Last synced: 27 days ago
JSON representation

Collection of X86/64 assembly language practical codes for Savitribai Phule Pune University's Microprocessor Lab (210257).

Awesome Lists containing this project

README

        

# Assembly Language Microprocessor Lab Practical Codes for Savitribai Phule Pune University :computer: :microscope:
[![GitHub license](https://img.shields.io/github/license/kunalPisolkar24/MPR_Lab_Codes)](https://github.com/kunalPisolkar24/MPR_Lab_Codes/blob/main/LICENSE)
![GitHub last commit](https://img.shields.io/github/last-commit/kunalPisolkar24/MPR_Lab_Codes)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/kunalPisolkar24/MPR_Lab_Codes)

Welcome 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:

📜 **Course Information:**

- **University:** Savitribai Phule Pune University
- **Course Name:** Microprocessor Laboratory (210257)
- **Companion Course:** Microprocessor (210254)
- **Course Objectives:**
- To understand assembly language programming instruction set
- To understand different assembler directives with examples
- To apply instruction set for implementing X86/64 bit assembly language programs
- **Course Outcomes:**
- CO1. Understand and apply various addressing modes and instruction set to implement assembly language programs
- CO2. Apply logic to implement code conversion
- CO3. Analyze and apply logic to demonstrate processor mode of operation

🎯 **Course Topics Covered:**

| Practical No. | Description |
|---------------|-------------|
| 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. |
| 2 | Write an X86/64 ALP to accept a string and display its length. |
| 3 | Write an X86/64 ALP to find the largest of given Byte/Word/Dword/64-bit numbers. |
| 4 | Write an X86/64 ALP to count the number of positive and negative numbers from the array. |
| 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). |
| 6 | Write X86/64 ALP to detect protected mode and display the values of GDTR, LDTR, IDTR, TR, and MSW Registers. |
| 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. |
| 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. |
| 9 | Write X86/64 ALP to perform multiplication of two 8-bit hexadecimal numbers. Use successive addition and add and shift method. |
| 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. |

📄 **Instructions:**

To 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.

🤝 **Contributions:**

Contributions 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).

📄 **License:**

This repository is licensed under the [MIT License](./LICENSE). You are free to use, modify, and distribute the code for academic and personal purposes.

👩‍💻 **Let's Learn Assembly Language and Explore the World of Microprocessors!** 👨‍💻