ALP to display quotient and remainder
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
STR1 DB 0AH,"ENTER NUMBER:$"
STR2 DB 0AH,"QUOTIENT IS $"
STR3 DB 0AH,"REMAINDER IS $"
DIVIDEND DB ?
DIVISOR DB ?
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA DX,STR1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV DIVIDEND,AL
LEA DX,STR1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV DIVISOR,AL
MOV AX,00H
MOV AL,DIVIDEND
MOV BL,DIVISOR
DIV BL
MOV DIVIDEND,AL ;placing quotient in divident
MOV DIVISOR,AH ;placing remainder in divisor
LEA DX,STR2
MOV AH,09H
INT 21H
MOV AH,00H
MOV AL,DIVIDEND
ADD AL,30H
MOV DX,AX
MOV AH,02H
INT 21H
LEA DX,STR3
MOV AH,09H
INT 21H
MOV AH,00H
MOV AL,DIVISOR
ADD AL,30H
MOV DX,AX
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
DATA SEGMENT
STR1 DB 0AH,"ENTER NUMBER:$"
STR2 DB 0AH,"QUOTIENT IS $"
STR3 DB 0AH,"REMAINDER IS $"
DIVIDEND DB ?
DIVISOR DB ?
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA DX,STR1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV DIVIDEND,AL
LEA DX,STR1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV DIVISOR,AL
MOV AX,00H
MOV AL,DIVIDEND
MOV BL,DIVISOR
DIV BL
MOV DIVIDEND,AL ;placing quotient in divident
MOV DIVISOR,AH ;placing remainder in divisor
LEA DX,STR2
MOV AH,09H
INT 21H
MOV AH,00H
MOV AL,DIVIDEND
ADD AL,30H
MOV DX,AX
MOV AH,02H
INT 21H
LEA DX,STR3
MOV AH,09H
INT 21H
MOV AH,00H
MOV AL,DIVISOR
ADD AL,30H
MOV DX,AX
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
Comments
Post a Comment