MASTER OF COMPUTER APPLICATIONS
Course Code : MCS-012
Course Title : Computer Organisation and Assembly Language Programming
Assignment Number : MCA(1)/012/Assign/2013 and BCA(II)/012/Assign/2013
Write a simple near procedure in 8086 assembly language that receives one parameter value in AL register from the main module and returns sign bit of the input parameter. Make suitable assumptions, if any
DATA SEGMENT
MSG DB “CARRY BIT RETURN IS : $”
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,80H
ADD AL,0FFH ;USE 0FH FOR NO CARRY AND USE 0FFH FOR CARRY
LEA DX,MSG
MOV AH,9
INT 21H
CALL CHECKCARRY
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
CHECKCARRY PROC NEAR
RCL AL,1
AND AL,00000001B
MOV DL,AL
RET
CHECKCARRY ENDP
END START
program code :
[codesyntax lang=”asm” lines=”normal”]
DATA SEGMENT
MSG DB “CARRY BIT RETURN IS : $”
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,80H
ADD AL,0FFH ;USE 0FH FOR NO CARRY AND USE 0FFH FOR CARRY
LEA DX,MSG
MOV AH,9
INT 21H
CALL CHECKCARRY
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
CHECKCARRY PROC NEAR
RCL AL,1
AND AL,00000001B
MOV DL,AL
RET
CHECKCARRY ENDP
END START
[/codesyntax]
Screen shots :-
Outputs :-