Karmaveer shankrao kale education society’s
GAUTAM POLYTECNIC INSTITUTE
GAUTAMNAGAR
A PROJECT REPORT ON
“ “WRITE ASSEMBLY LANGUAGE PROGRAM TO CHECK
STRING IS PALINDROME OR NOT””
Submitted to
MSBTE
In Partial Fulfilment of the Requirement for the Award of
DEPLOMA IN
COMPUTER ENGINEERING
Submitted By
Shaikh Ayan Dilawar (2016690053)
Shinde Sudershan Rajendra (2016690066)
Sonwane Shriram Radesham (2116690052)
Dudhate Dnyneshwar Bhagawat (2116690042)
UNDER THE GUIDANCE OF
DEPARTMENT OF COMPUTER ENGINEERING
Gautam Polytechnic institute, Kolpewadi
2021-2022
Karmaveer shankrao kale education society’s
GAUTAM POLYTECNIC INSTITUTE
GAUTAMNAGAR
CERTIFICATE
THIS IS CERTIFY THAT THE PROJECT ENTITLED
Is a record of benifide work carried out by them, in the
partial fulfilment of the requirement for the award of
Diploma of Engineering (Computer Engineering) at
GAUTAM POLYTECNIC INSTITUDE, GAUTAMNAGAR
under the University of M S B T E .
This work is done during year 2021-2022, under our
guidance.
Date: / /
(Prof. Archana Gadakh)
HOD, Computer Department
(Mr.Gawali S.P)
Project Guide
(Prof.Bharti S.M)
Principal
INDEX
SR.NO TOPIC NAME PAGE
NO
1. Acknowledgement 04
2. Rationale: 05
3. Aims/Benefits of the Micro- 06
Project:
4. Course Outcomes Addressed: 07
5. Literature Review: 08
6. Actual Methodology Followed: 09
7. Actual Resources Required: 10
8. Algorithm: 11
9. Program Code: 12
10. Skill Developed/ Learning 15
outcomes of this Micro-Project:
11. Application of Micro-project: 16
ACKNOWLEDGEMENT
It is pride to present project on to Checking String is
Palindrome or Not. Within the deep sense of gratitude and
profound respect, I acknowledged my oblivion to my guide
Mr.Gawali S.P Sir, for the valuable guidance and timely
inspiration.
Our sincere and whole hearted thanks to our HOD Prof.
Archana Gadakh mam , Computer Engineering for providing
all facilities needed for successful completion of project.
We are also thankful to Principal Prof.Bharti S.M Sir, for
inspiring us to achieve highest goal.
Last but not least, we are thankful to our parents, all faculty
members and friends who
have directly and indirectly helped us in completing our project.
Micro-Project Report
TITLE: “To Check the String is Palindrome or
Not”.
1.0 Rationale:
Microprocessor is the main component of computer where
8086 is the base of all upward developed processors till current
processors. This course will cover the basic of 8086 and its
architecture along with instruction set, assembly language
programming with effective use of procedure and in across;
this course also covers the architectural issues such as
instruction set program and data types. On top that, the
students are also introduced to the increasingly important area
of parallel organization. This subject serves as a basic to
develop hardware related projects. This course will enable the
students to inculcate assembly language programming
concepts and methodology to solve problems.
2.0 Aims/Benefits of the Micro-Project:
1. Write ALP to identify the string is palindrome, thus
program, to check valid palindrome.
2. It can be read in both directions.
3. A 8086 String instructions is a series of the same type of
data item in sequential memory location.
3.0 Course Outcomes Addressed:
• Analyze the functional block of 8086 microprocessor.
• Write assembly language program for the given problem.
• Use instructions for different addressing modes.
• Develop an assembly language program using assembler.
4.0 Literature Review:
Sites Used:
• www.tuturialspoint.com
• www.geeksforgeeks.org
Books Used:
• Microprocessor and Programming (Vijay N. Kukre)
Assembly Language Program to determine a given string is a
palindrome. If ‘Yes’ output the message “The given string is a
palindrome”, If ‘No’ out the message “No, it is not a palindrome”.
DATA SEGMENT is the starting point of the Data Segment in a
Program and DATA is the name given to this segment and
SEGMENT is the keyword for defining Segments. An integer is
palindrome when it reads the same backward as forward.
5.0 Actual Methodology Followed:
To create Micro-project on topic “Check String For Palindrome”
firstly we need to get the knowledge about how to create a
code of Palindrome. Also we will need a brief study on the
requirements of project. After that we will collect information
together and make a plan on it. Then we will discuss that how
to create a coding of the palindrome string. Then we will try to
create a code then we will show the output to teacher. Finally
we will show it to the teacher for final correction.
6.0 Actual Resources Required:
Sr. NAME OF SPECIFICATION Quantity
No. RESOURCES
1 Computer Operating System: Windows 1
System with 10
broad based Processor: AMD Ryzen 5
specifications 3550H
RAM: 8GB
System type: 64-bit Operating
System
2 Software Microsoft Word 2010 3
Microsoft Edge
Emulator 8086
3. Mobile Processor: Qualcomm 1
Phone Snapdragon 665
RAM: 4 GB
Model: RMX 1911
4 Books • Microprocessor and 1
Programming (Vijay N.
Kukre)
•
5 Websites • www.tuturialspoint.com 3
• www.geeksforgeeks.org,
etc.
7.0 Algorithm
Step 1: Start
Step 2:Create a string
Step 3:Traverse to the end of the string
Step 4:Get the address of the end of the string, DI
Step 5:Load the starting address of the string, SI
Step 6: Compare the value stored at the address
Step 7: Increment the pointer, SI
Step 8: Decrements the pointer, DI
Step 9: Compare again the value stored at si and di
Step 10: Repeat the steps until SI<=DI
Step 11: If all the characters match print string is palindrome
else print not palindrome.
Step 12: Stop.
8.0 Program Code:
Data Segment
str1 db 'PHP','$'
strlen1 dw $-str1
strrev db 20 dup(' ')
str_palin db 'String is Palindrome.','$'
str_not_palin db 'String is not Palindrome.','$'
Data Ends
Code Segment
Assume cs:code, ds:data
Begin:
mov ax, data
mov ds, ax
mov es, ax
mov cx, strlen1
add cx, -2
lea si, str1
lea di, strrev
add si, strlen1
add si, -2
L1:
mov al, [si]
mov [di], al
dec si
inc di
loop L1
mov al, [si]
mov [di], al
inc di
mov dl, '$'
mov [di], dl
mov cx, strlen1
Palin_Check:
lea si, str1
lea di, strrev
repe cmpsb
jne Not_Palin
Palin:
mov ah, 09h
lea dx, str_palin
int 21h
jmp Exit
Not_Palin:
mov ah, 09h
lea dx, str_not_palin
int 21h
Exit:
mov ax, 4c00h
int 21h
Code Ends
End Begin
9.0 Outputs of the Micro-Project:
10.0 Skill Developed/ Learning outcomes of this Micro-Project:
• We are able to write and code assembly language programs.
• We learned how to actively work in group.
• We learned how to collect information and create report.
• Presentation skills are developed after completing Micro-
project.
11.0 Application of Micro-project:
It is used to create a string. It traverses to the end of the string.
It gets the address of the end of the string, DI. It Load the
starting address of the string, SI. It compares the value stored at
the address. It increment the pointer, SI. It decrements the
pointer, DI. It compares again the value stored at SI and DI. It
repeats the steps until SI<=DI If all the characters match print
string is palindrome else print not palindrome
....