Home >> Resources >> Assembly Language Tutorials >> Source Codes
 

 

.MODEL SMALL
.STACK 64

DATA    SEGMENT
MSG     DB 'ENTER STRING TO BE CHECKED FOR PALINDROME > $'
MSG1    DB 'YES ,A PALINDROME $'
MSG2    DB 'NOT A PALINDROME $'
STRING  LABEL BYTE
MAXLEN  DB 20
STRLEN  DB ?
STRFLD  DB 20 DUP(' ')
DATA    ENDS

CODE    SEGMENT
        ASSUME CS:CODE,DS:DATA
START:  MOV AX,DATA
        MOV DS,AX

        CALL CLS        ;clear screen
        CALL CURSOR     ;set cursor at (0,0)
        CALL READ

        CALL CLS
        CALL CURSOR

        LEA BX,STRFLD
        MOV CH,00H
        MOV CL,STRLEN
        CMP CX,02H
        JC PAL
        MOV DX,BX
        ADD DX,CX
        DEC DX
        SHR CX,1

AGAIN:  MOV AL,[BX]
        XCHG BX,DX
        CMP AL,[BX]
        JNE NOTPAL
        XCHG BX,DX
        INC BX
        DEC DX
        LOOP AGAIN

PAL:    MOV AH,09H
        LEA DX,MSG1
        INT 21H
        JMP HALT

NOTPAL: MOV AH,09H
        LEA DX,MSG2
        INT 21H

HALT:   MOV AX,4C00H    ;terminate program
        INT 21H

        ;CLEARS SCREEN
CLS:    MOV AX,0600H
        MOV BH,07H
        MOV CX,0000H
        MOV DX,184FH
        INT 10H
        RET

        ;SET CURSOR
CURSOR: MOV DX,0000H
        MOV AH,02H
        MOV BH,00H
        INT 10H
        RET


READ:   MOV AH,09H      ;display message
        LEA  DX,MSG
        INT 21H

        MOV AH,0AH
        LEA DX,STRING
        INT 21H
        RET

WRITE:  MOV AH,09H
        LEA DX,STRFLD
        INT 21H
        RET

CODE    ENDS
        END START

 

e-Campus ..!!

A dream come true 'Online Campus Recruitment' To reach the crème de la crème from any campus Across India..

Call Centre/BPO Jobs
Placement Papers
Look for the latest Sample papers of any software/Govt. Company here
 

Google