kunalPisolkar24 / MPR_Lab_Codes

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:Assembly 100.0%