MASTER OF COMPUTER APPLICATIONS
Course Code : MCS-012
Course Title : Computer Organisation and Assembly Language Programming
Assignment Number : MCA(1)/012/Assign/2014-15
Maximum Marks : 100
Weightage : 25%
Write a program in 8086 assembly language to convert a four digit packed BCD number into equivalent ASCII digits. The packed BCD number may be assumed to be stored in memory. Your program should print the four ASCII digits.
DATA SEGMENT
BCD DW 1234H
ASCII DB 5 DUP (‘$’)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AX,BCD
MOV BH,AH
MOV BL,AL
AND AH,0F0H
AND BH,0FH
AND AL,0F0H
AND BL,0FH
MOV CL,04H
ROL AH,CL
MOV CL,04H
ROL AL,CL
ADD AX,3030H
ADD BX,3030H
LEA SI,ASCII
MOV [SI],AH
INC SI
MOV [SI],BH
INC SI
MOV [SI],AL
INC SI
MOV [SI],BL
INC SI
LEA DX,ASCII
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
program code :
[codesyntax lang=”asm” lines=”normal”]
DATA SEGMENT
BCD DW 1234H
ASCII DB 5 DUP (‘$’)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AX,BCD
MOV BH,AH
MOV BL,AL
AND AH,0F0H
AND BH,0FH
AND AL,0F0H
AND BL,0FH
MOV CL,04H
ROL AH,CL
MOV CL,04H
ROL AL,CL
ADD AX,3030H
ADD BX,3030H
LEA SI,ASCII
MOV [SI],AH
INC SI
MOV [SI],BH
INC SI
MOV [SI],AL
INC SI
MOV [SI],BL
INC SI
LEA DX,ASCII
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
[/codesyntax]
Screen shots :-
Before Execution :-
After Execution :-