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! 🚀
📜 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.
📄 License:
This repository is licensed under the MIT 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! 👨💻