.MODEL SMALL
.STACK 100H
.DATA
PROMPT_1 DB 'Enter a number: $'
PROMPT_2 DB 0DH,0AH,'The given number in binary is: $'
PROMPT_3 DB 0DH,0AH,'$'
MSG1 DB 10,13,’Number is Odd $’
MSG2 DB 10,13,’Number is Even $’
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
LEA DX, PROMPT_1
MOV AH, 9
INT 21H
XOR BL, BL
MOV CX, 8
MOV AH, 1
@INPUT:
INT 21H
CMP AL, 0DH
JE @END
AND AL, 0FH
SHL BL, 4
OR BL, AL
LOOP @INPUT
@END:
MOV AL, BL
MOV CX, 8
@LOOP:
SHR AL, 1
RCL BL, 0
LOOP @LOOP
LEA DX, PROMPT_2
MOV AH, 9
INT 21H
MOV CX, 8
MOV AH, 2
@OUTPUT:
SHL BL, 1
JNC @ZERO
MOV DL, 31H
JMP @DISPLAY
@ZERO:
MOV DL, 30H
@DISPLAY:
INT 21H
LOOP @OUTPUT
MOV AH,01H
INT 21H
mov ah,01h
SAR AL,01h
JC ODD
LEA SI,MSG1
CALL PRINT
JMP TERMINATE
ODD:
LEA SI,MSG2
CALL PRINT
TERMINATE:
MOV AH,4CH
INT 21H
PRINT PROC
MOV DX,SI
MOV AH,09H
INT 21H
MOV AH, 4CH
INT 21H
END MAIN
source
share