Skip to content

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

License

Notifications You must be signed in to change notification settings

kunalPisolkar24/MPR_Lab_Codes

Repository files navigation

Assembly Language Microprocessor Lab Practical Codes for Savitribai Phule Pune University 💻 🔬

GitHub license GitHub last commit GitHub code size in bytes

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! 👨‍💻

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published