0% found this document useful (0 votes)
42 views17 pages

Microprocessor 339

Uploaded by

pawardiksha172
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views17 pages

Microprocessor 339

Uploaded by

pawardiksha172
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Ajeenkya DY Patil School of

Engineering (Charholi)Via Lohegaon,

Pune-412 105

Department of Computer
Engineering 2023-24[4th
Sem]

Micro-project Report
of Microprocessor
(MIC) On
Assembly Language Program of Conversion of The
String And Reversal Of The Given String

Submitted by:

Roll no. Name of the Student Enrollment no.


05 Diksha Pawar 2216490137
08 Om Bhintade 2216490140
Under the Guidance of
Mrs. Urmila Burde
AJEENKYA DY PATIL SCHOOL OF ENGINEEERING
(CHARHOLI)
Department of Computer

Engineering SEMESTER- 2023-24

CERTIFICATE
This is to certify that Project report entitled Assembly Language Program of 8086 of
Conversion of the String And Finding Reverse of The String is submitted in the partial
fulfillment of requirement for the award of the Diploma in Compute Engineering by
Maharashtra State Board of Technical Education as record of students' own work carried
out by them under the guidance and supervision at Ajeenkya DY Patil School Of
Engineering (Charholi), during the academic year 2023-24.

Roll no. Name of the Student Enrollment no.


05 Diksha Pawar 2216490137
08 Om Bhintade 2216490140

Place: Charholi (Bk)


Date: / /2024.

Mrs. Urmila Burde Mrs. Priyanka Kasar


Guide Head of Computer Department
ACKNOWLEDGEMEMT

It is with profoundly sense of gratitude that we acknowledge from our guide


Mrs. Urmila Burde. She has been guiding in the true sense of word, a guide who
satisfaction from our word & progress.

We are highly obliged to Mrs. Priyanka Kasare Head of Computer


Department for aberrance & good co-operation given to us for bringing this project
to almost standard.
We are grateful to our principal Dr. Nagesh Shelke for proceeding
acknowledgement to using the connection of this project concluding. We
appreciate the assistance of all staff that helps us in for their sincere & obliging
help to make our project successfully.
Micro Project
Proposal Part A

Assembly Language Program Conversion of The String And


Finding Reverse of The string

1. Brief Introduction:
8086 Microprocessor is an enhanced version of 8085 Microprocessor that was designed by
Intel in 1976. It is a 16-bit Microprocessor having 20 address lines and16 data lines that
provides up to 1MB storage. It consists of powerful instruction set, which provides
operations like multiplication and division easily.
o It supports two modes of operation, i.e., Maximum mode and Minimum mode.
Maximum mode is suitable for system having multiple processors and
Minimum mode is suitable for system having a single processor.
o The 8086 microprocessor is a 16-bit, N-channel, HMOS microprocessor. Where
the HMOS is used for "High-speed Metal Oxide Semiconductor".
o Intel 8086 is built on a single semiconductor chip and packaged in a 40-pin IC
package. The type of package is DIP (Dual Inline Package).
o Intel 8086 uses 20 address lines and 16 data- lines. It can directly address up to 220
= 1 Mbyte of memory.
o It consists of a powerful instruction set, which provides operation like division
and multiplication very quickly.
o 8086 is designed to operate in two modes, i.e., Minimum and Maximum mode. tasks.

2. Aim Of the Micro Project:


The aim of a micro project is to delve into the fundamentals of assembly language
programming on thr Intel 8086 microprocessor using GUI Turbo Assembler (TASM)
And Emu8086 Emulator. The project focuses on two algorithms : string conversion
From Lower case to Upper case and reverse of The String

3. Key objectives of the project include:

I. Understanding Assembly Language Concepts: Participants will learn the


basics of assembly language programming, including syntax, data
representation, and control flow structures. They will gain insight into how low-
level instructions map to machine operations, facilitating a deeper
understanding of computer architecture.

II. Lowercase to Uppercase Conversion: Implement an algorithm that iterates


through each character of the string. Identify lowercase characters (ASCII
codes between 97 and 122).Convert lowercase characters to their
uppercase
equivalents by subtracting 32 from the ASCII code. Update the string with the
converted characters. Display the converted string on the screen.
III. String Reversal: Implement an algorithm to reverse the order of characters
in the string. Consider two approaches:
a Loop-Based Approch : Use a loop to iterate from the end of the string to the
beginning, copying characters to a temporary buffer and then back to the
original string.
b Stack-Based Approch: Use a stack to push characters onto the stack, then
pop them back onto the string in reverse order. Display the reversed string
on the screen.

IV. Error Handling and User Feedback : Implement robust error handling and
provide feedback to users. integrate error checks within the assembly code to
handle invalid inputs or unexpected conditions. Ensure that the GUI displays
informative messages to guide users in case of errors.

V. Testing within the Tasm Environment: Verify the functionality of the GUI
and assembly code using TASM's emulator. Conduct thorough testing within
the TASM environment to identify and address any issues with the GUI
components and the associated assembly code, ensuring a smooth user
experience.

VI. Testing and Debugging: Participants will learn to test and debug their
assembly language programs using GUI Turbo Assembler (TASM) tools. They
will practice identifying and fixing errors in their code, gaining proficiency in
troubleshooting techniques and improving the reliability of their programs.

VII. Documentation and Presentation: Participants will document their code,


explaining the logic behind their implementations and any optimizations
applied. They will present their work, discussing their approach, challenges
faced, and lessons learned during the project, fostering communication skills
and knowledge sharing within the group.
4. Action Plan:

Sr.no Details of activity


Planned start Planned end Name of responsible
date date group members
1. Searching for the topic

2. Confirmed the topic we


searched for the micro
project

4. Collecting information

Diksha Pawar
5. Making proposal
Om Bhintade

6. Testing and analysis of


test result

7. Preparation of final
project report

8. Final submission of the


project
5. Resources Required:

Sr. No. Specification


Name of
resources/Material
1.
16GB RAM
HARRDWARE 512GB SSD

GUI Turbo Assembler ,Emu8086


2. SOFTWARE Emulator
3.

DATA Google Chrome

3. Name Of Team Members:

Roll no. Name of the student Enrollment no.


05 Diksha Pawar 2216490137
08 Om Bhintade 2216490140

Mrs. Urmila Burde


(Micro-project Guide)
Program:
The program is designed to Covert the String From Lower Case To Upper Case

.MODEL SMALL
.STACK 200
.DATA
MSG DB 'ENTER A STRING IN SMALL LETTER: ','$'
MSG1 DB 'OUTPUT STRING: ','$'
STRING DB 20, 22 DUP('?')

CRLF DB 0DH,0AH, '$' ; NEW LINE CODE.

.CODE
.STARTUP
LEA DX, MSG
MOV AH, 09H
INT 21H

LEA DX, STRING

MOV AH, 0AH


INT 21H

MOV BX, DX
MOV AH, 0
MOV AL, DS:[BX+1]
ADD BX, AX ; POINT TO END OF STRING.

MOV BYTE PTR [BX+2], '$'

LEA DX, CRLF ;NEW LINE


MOV AH, 09H
INT 21H

LEA BX, STRING


MOV CH, 0
MOV CL, [BX+1]
ADD BX, 2

UPPER_CASE:

AND BYTE PTR [BX], 11011111B


INC BX ; INCREMENT
LOOP UPPER_CASE

LEA DX, MSG1


MOV AH, 09H
INT 21H

LEA DX, STRING+2


MOV AH, 09H
INT 21H

RET

Output 1:
Program:

The program is designed to Reverse The String

ORG 100H

.MODEL SMALL
.STACK 100H
.DATA

STRING DB 'MICROPROCESSOR', '$'

.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX

CALL REVERSE

LEA DX,STRING

MOV AH, 09H


INT 21H

MOV AH, 4CH


INT 21H

MAIN ENDP
REVERSE PROC

MOV SI, OFFSET STRING

MOV CX, 0H

LOOP1:

MOV AX, [SI]


CMP AL, '$'
JE LABEL1

PUSH [SI]

INC SI
INC CX

JMP LOOP1

LABEL1:

MOV SI, OFFSET STRING

LOOP2:

JE EXIT

POP DX

XOR DH, DH

MOV [SI], DX

INC SI
DEC CX

JMP LOOP2

EXIT:

MOV [SI],'$ '


RET

REVERSE ENDP
END MAIN
RET
OUTPUT:

 Skill Development:
i Low-Level Programming Skills: Working with assembly language enhances
participants' proficiency in low-level programming. They learn to write code
that directly interacts with the hardware, gaining insights into memory
management, register usage, and instruction execution.

ii Problem-Solving Skills: Implementing algorithms like factorial calculation and


Fibonacci series in assembly language requires participants to break down
complex problems into smaller, manageable tasks. This cultivates their problem-
solving skills and ability to devise efficient solutions.

iii Understanding Computer Architecture: By programming for the Intel 8086


microprocessor, participants gain a deeper understanding of computer architecture.
They learn about processor registers, memory organization, instruction sets, and
the execution pipeline, which is valuable knowledge for understanding how
computers work at a fundamental level.

iv Algorithmic Thinking: Developing algorithms in assembly language requires


participants to think algorithmically, considering factors such as time
complexity, space complexity, and optimization techniques. This cultivates their
ability to analyse problems and design efficient algorithms.

v Debugging Proficiency: Debugging assembly language code can be


challenging due to its low-level nature. Participants learn to use tools like
debuggers, simulators, and manual inspection of memory and registers to
identify and fix errors in their code. This enhances their debugging proficiency
and attention to detail.

vi Optimization Techniques: Writing efficient assembly code involves


optimizing for both speed and space. Participants learn optimization techniques
such as loop unrolling, register allocation, and minimizing memory accesses to
improve the performance of their code.

vii Critical Thinking and Analytical Skills: Analysing the performance of assembly
code requires participants to critically evaluate different approaches and make
informed decisions based on their understanding of the underlying hardware. This
enhances their critical thinking and analytical skills.

viii Documentation and Communication: Documenting assembly language


programs requires clear and concise explanations of the code's functionality,
algorithms used, and any optimizations applied. Participants develop skills in
documenting their work effectively, facilitating communication with others and
aiding in knowledge transfer.

ix Attention to Detail: Writing assembly language code demands meticulous


attention to detail, as even small errors can lead to significant issues in
program execution. Participants learn to be thorough in their coding practices,
ensuring correctness and reliability in their programs.
Conclusion:

project focused on string conversion and reverse string operations using the 8086
microprocessor in GUI Turbo Assembler has provided valuable insights into low-level
programming and assembly language. By leveraging the capabilities of the 8086
microprocessor, we were able to develop efficient routines for converting strings and
reversing their order.

The project demonstrated the importance of understanding the intricacies of assembly


language and the architecture of the 8086 microprocessor. Working with GUI Turbo
Assembler added a graphical interface to our project, enhancing the user experience and
making the application more accessible.

Through this microproject, we gained hands-on experience in manipulating strings at the


assembly language level, honed our skills in using GUI Turbo Assembler for visual
representation, and deepened our understanding of the underlying hardware architecture.
This microproject serves as a stepping stone for further exploration and application of
assembly language programming, providing a solid foundation for future endeavour’s in
microprocessor-based development.

In conclusion, the successful implementation of string conversion and reverse string


operations using the 8086 microprocessor in GUI Turbo Assembler reflects the synergy
between hardware-level programming and graphical user interface design. This
microproject not only achieves its intended functionality but also serves as a testament to
the power and versatility of assembly language in microprocessor programming.

Mrs.Urmila Burde
(Guide of Project)

You might also like