Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .MODEL SMALL
- .STACK 200H
- .DATA
- MSG1 DB 10,13,'Enter a string :- $'
- MSG3 DB 10,13,'Length of this string :- $'
- MSG4 DB 10,13,'Not a Palindrome $'
- MSG5 DB 10,13,'Palindrome $'
- MSG6 DB 10,13,'Reversed string is :- $'
- P1 LABEL BYTE
- M1 DB 0FFH
- L1 DB ?
- P11 DB 0FFH DUP ('$')
- P22 DB 0FFH DUP ('$')
- DATA ENDS
- DISPLAY MACRO MSG
- MOV AH,9
- LEA DX,MSG
- INT 21H
- ENDM
- CODE SEGMENT
- ASSUME CS:CODE,DS:DATA
- START:
- MOV AX,DATA
- MOV DS,AX
- DISPLAY MSG1
- LEA DX,P1
- MOV AH,0AH
- INT 21H
- DISPLAY MSG3
- MOV DL,L1
- ADD DL,30H
- MOV AH,2
- INT 21H
- DISPLAY MSG6
- LEA SI,P11
- LEA DI,P22
- MOV DL,L1
- DEC DL
- MOV DH,0
- ADD SI,DX
- MOV CL,L1
- MOV CH,0
- REVERSE:
- MOV AL,[SI] ;reverse the string at first
- MOV [DI],AL
- INC DI
- DEC SI
- LOOP REVERSE
- DISPLAY P22
- LEA SI,P11
- LEA DI,P22
- MOV CL,L1
- MOV CH,0
- CHECK:
- MOV AL,[SI]
- CMP [DI],AL ; if the reverse string as same as previous string
- JNE NOTPALIN
- INC DI ; then it is Palindrome
- INC SI
- LOOP CHECK ; otherwise not Palindrome
- DISPLAY MSG5
- JMP EXIT
- NOTPALIN:
- DISPLAY MSG4
- EXIT: MOV AH,4CH
- INT 21H
- CODE ENDS
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement