readnum macro num
mov ah, 01h
int 21h
sub al, '0'
mov num, al
endm
printstring macro msg
mov ah, 09h
mov dx, offset msg
int 21h
endm
data segment
cr equ 0dh
lf equ 0ah
msg1 db 'enter a number','$'
msg2 db cr, lf, 'even number','$'
msg3 db cr, lf, 'odd number','$'
num db ?
data ends
code segment
assume cs:code, ds:data
start:
mov ax, data
mov ds, ax
printstring msg1
readnum num
mov ah, 00
mov al, num
mov bl, 02
div bl
cmp ah, 00
je evennum
printstring msg3
jmp skip
evennum:
printstring msg2
skip:
mov ax, 4c00h
int 21h
code ends
end start
