An Assembly Language program to reverse a string in memory and displayed – IGNOU MCA Assignment 2013

By | April 15, 2014

BACHELOR  OF COMPUTER APPLICATIONS
Course Code : BCSL-022
Course Title : Assembly Language Programming Lab
Assignment Number : BCA(II)/BCSL022/Assign/13

 

Write and run an Assembly language program that reverses a string. You may assume that the string is available in the memory and is 6 byte long. The reversed string should be stored in separate memory locations and should be displayed

 

DATA SEGMENT
    STR1 DB “MAHESH$”
    STR2 DB 7 DUP (‘$’)
    MSG1 DB 10,13,’STORED STRING IN MEMORY IS : $’
    MSG2 DB 10,13,’REVERSE STRING IS : $’
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
                    
        DISPLAY STR1
                       
        LEA SI,STR2
        LEA DI,STR1
        ADD DI,5
               
        MOV CX,6
REVERSE:
        MOV AL,[DI]
        MOV [SI],AL
        INC SI
        DEC DI
        LOOP REVERSE
       
        DISPLAY MSG2
                   
        DISPLAY STR2
                     
        MOV AH,4CH
        INT 21H
CODE ENDS
END START

 

program code :

[codesyntax lang=”asm” lines=”normal”]

DATA SEGMENT
    STR1 DB “MAHESH$”
    STR2 DB 7 DUP (‘$’)
    MSG1 DB 10,13,’STORED STRING IN MEMORY IS : $’
    MSG2 DB 10,13,’REVERSE STRING IS : $’
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
                    
        DISPLAY STR1
                       
        LEA SI,STR2
        LEA DI,STR1
        ADD DI,5
               
        MOV CX,6
REVERSE:
        MOV AL,[DI]
        MOV [SI],AL
        INC SI
        DEC DI
        LOOP REVERSE
       
        DISPLAY MSG2
                   
        DISPLAY STR2
                     
        MOV AH,4CH
        INT 21H
CODE ENDS
END START

[/codesyntax]

Screen shots :-

Asm_program_Rev_Str_Memory

Output :-

 Asm_program_Rev_Str_Memory_Output

Leave a Reply