Вы находитесь на странице: 1из 7

Department of Information Technology

Academic Year: 2019-20 Name of Student: Parvi Agrawal


Semester: IV Student ID:18104018
Class / Branch: SE IT Date of Performance:13/03/2020
Subject: MicroProcessor Programming Lab Date of Submission:13/03/2020
Name of Instructor: Asst. Prof. Sonal Jain

Experiment No.

Aim: Write an assembly language program to check whether a given string is a

palindrome or not.

Code:

.model small

.data

menu db 10d,13d,"MENU"

db 10d,"1.Enter the string"

db 10d,"2.Reverse string"

db 10d,"3.Palindrome"

db 10d,"4.Exit"

db 10d,"Enter your choice:$"

m1 db 10d,"Enter string:$"
m3 db 10d,"Reversed string:$"

m4 db 10d,"String is palindrome:$"

m5 db 10d,"String is not palindrome:$"

string db 15 dup('$')

string2 db 15 dup('$')

len db 0000h

;********MACRO********

print macro xx

lea dx,xx

mov ah,09h

int 21h

endm

.code

start:

mov ax,@data

mov ds,ax

main:
print menu

mov ah,01h

int 21h

cmp al,'4'

je exit

cmp al,'1'

je case1

cmp al,'2'

je case2

cmp al,'3'

je case3

;*******CASES********

exit:

mov ah,4ch

int 21h

case1:
print m1

lea si,string

loop1:

mov ah,01h

int 21h

cmp al,0Dh

je skip1

mov[si],al

inc si

inc len

jmp loop1

skip1:

mov al,24h

mov byte[si],al

jmp main

case2:

lea si,string

lea di,string2

mov cl,[len]
mov ch,00

add di,cx

dec di

loop2:

mov al,[si]

mov [di],al

inc si

dec di

loop loop2

print m3

print string2

jmp main

case3:

lea si,string

lea di,string2

mov cl,[len]

loop3:

mov al,[si]

mov bl,[di]
inc si

inc di

cmp al,bl

jne skip3

loop loop3

print m4

jmp main

skip3:

print m5

jmp main

end start
Output:

Вам также может понравиться