Microprocessor/README.md

104 lines
9.4 KiB
Markdown
Raw Permalink Normal View History

2024-06-08 11:21:10 +05:30
# Microprocessor (MP)
Microprocessor, a comprehensive Git repository tailored for SPPU Computer Engineering students. Dive deep into the 80386 DX processor, mastering assembly language programming, debugging, and testing techniques. Access notes, assignments, question papers, and a wide range of resources to strengthen your grasp on advanced processor systems.
---
## Index
### Codes
- [Practical 1 - Count number of positive and negative numbers from the array](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-1.asm)
- Practical 3 - Non-overlapped block transfer:
- [Practical 3.1 - Non-overlapped block transfer (WITH string specific instructions)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-3.1%20%28with%20string%29.asm)
- [Practical 3.2 - Non-overlapped block transfer (WITHOUT string specific instructions)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-3.2%20%28without%20string%29.asm)
- Practical 4 - Overlapped block transfer:
- [Practical 4.1 - Overlapped block transfer (WITH string specific instructions)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-4.1%20%28with%20string%29.asm)
- [Practical 4.2 - Overlapped block transfer (WITHOUT string specific instructions)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-4.2%20%28without%20string%29.asm)
- Practical 5 - Multiplication of two 8-bit hexadecimal numbers:
- [Practical 5.1 - Multiplication of two 8-bit hexadecimal numbers (successive addition method)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-5.1%20%28successive%20addition%29.asm)
- [Practical 5.2 - Multiplication of two 8-bit hexadecimal numbers (add and shift method)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-5.2%20%28add%20and%20shift%20method%29.asm)
- [Practical-10 - Switch from real mode to protected mode and display the values of GDTR, LDTR, IDTR, TR and MSW Registers. Identify CPU type using CPUID instruction.](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-10.asm)
- [Practical-11 - Factorial of a given integer number with explicit stack manipulation](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-11.asm)
- [Practical-12 - Obtain: i) Mean ii) Variance iii) Standard Deviation. Define the input values in data segment](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-12.asm)
- [Practical-13 - Find the roots of the quadratic equation](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Codes/Practical-13.asm)
> Checkout [testing branch](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/testing) for rest of the codes.
#### Steps to run these codes:
1. Assemble the code (using NASM (Netwide Assembler), MASM (Microsoft Macro Assembler) or TASM (Turbo Assembler)):
```shell
nasm -f elf64 yourProgram.asm -o yourProgram.o
```
2. Link the object file (using `ld` on Linux or `link` on Windows):
```shell
ld -o yourProgram yourProgram.o
```
3. Run the executable:
```shell
./yourProgram
```
> For Windows: `.\yourProgram`
### Notes
- [END-SEM Notes](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/MP%20-%20END-SEM%20Notes.pdf)
1. [Unit 1 - 80386DX- Basic Programming Model and Applications Instruction Set](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/Unit%201)
2. [Unit 2 - Systems Architecture and Memory Management](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/Unit%202)
3. [Unit 3 - Protection and Multitasking](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/Unit%203)
4. [Unit 4 - Input-Output, Exceptions and Interrupts](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/Unit%204)
5. [Unit 5 - Initialization of 80386DX, Debugging and Virtual 8086 Mode](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/Unit%205)
6. [Unit 6 - 80387 Coprocessor and Introduction](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Notes/Unit%206)
### Handouts
- [Solutions for all 10 assignments.](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/0-MPL%20-%20All%2010%20Assignments%20%28Solutions%29.pdf)
1. [Assignment 1 - Display accepted numbers](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%201.pdf)
2. [Assignment 2 - String length calculation](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%202.pdf)
3. [Assignment 3 - Find the largest of given number](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%203.pdf)
4. [Assignment 4 - Arithmatic operations](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%204.pdf)
5. [Assignment 5 - Count number of positive and negative numbers](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%205.pdf)
- [Print code & output](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Printable%20codes%20&%20outputs/Assignment-5%20%28code%20and%20output%29.pdf)
6. [Assignment 6 - Switch from real mode to protected mode and display the values of GDTR, LDTR, IDTR, TR and MSW Registers](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%206.pdf)
- [Print code & output](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Printable%20codes%20&%20outputs/Assignment-6%20%28code%20and%20output%29.pdf)
7. [Assignment 7 - Non-overlapping block data transfer](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%207.pdf)
- [Print code & output](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Printable%20codes%20&%20outputs/Assignment-7%20%28code%20and%20output%29.pdf)
8. [Assignment 8 - Overlapping block data transfer](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%208.pdf)
- [Print code & output](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Printable%20codes%20&%20outputs/Assignment-8%20%28code%20and%20output%29.pdf)
9. [Assignment 9 - Analyze the difference between near and far procedure to find number of lines, blank spaces & occurance of character](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%209.pdf)
10. [Assignment 10 - Study assignment](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%2010.pdf)
11. [Assignment Addition](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20-%20Assignment%20Addition.pdf)
12. [Assignment Factorial](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Handouts/MPL%20%20-%20Assignment%20Factorial.pdf)
- [Print code & output](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Printable%20codes%20&%20outputs/Assignment%20-%20Factorial%20%28code%20and%20output%29.pdf)
### Question Papers
> All question papers are based on 2019 pattern.
- [IN-SEM](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Question%20Papers/IN-SEM)
- [END-SEM](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Question%20Papers/END-SEM)
### Question Banks
- [Unit 1 and Unit 2](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Question%20Banks/Microprocessor%20Unit%201%20and%202%20Question%20Bank%20.pdf)
- [Unit 3 to Unit 6](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Question%20Banks/Microprocessor%20-%20Important%20Questions%20%28Unit%203%20to%206%29.pdf)
- [Oral (Viva) Examination Question Bank (from sir)](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/Question%20Banks/Microprocessor%20-%20Oral%20%28Viva%29%20Examination%20Question%20Bank.pdf)
## Miscellaneous
**-> Disclaimer:** Please read the [DISCLAIMER](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/DISCLAIMER.md) file for important information regarding the contents of this repository.
**-> Note:** All the codes, handout solutions, printable codes & outputs, question papers and some notes have been provided by us, i.e. our contributors. You are free to use this content however you want, without any restrictions. Content such as lab handouts, notes and question banks have been provided by our professors, thus to use them for anything other than education purposes, please contact them.
**-> Maintained by:**
- [TanmaySpamzzz](https://git.kska.io/TanmaySpamzzz)
- [notkshitij](https://git.kska.io/notkshitij)
**->** Repository icon from [Icons8](https://icons8.com).
**-> Keywords:**
SPPU, Savitribai Phule Pune University, Pune University, Computer Engineering, COMP, Second Year, SE, Semester 4, SEM-4, Syllabus, Microprocessor, MP, content, notes, write-ups, assignments, previous years' question papers, question banks,
Previous main branch has been pruned. [Click here to view old commits](https://git.kska.io/sppu-se-comp-content/Microprocessor/src/branch/main/git-commit-logs.txt).
---