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 :-
Output :-