DATAS SEGMENT
bin dw 2 dup(?)
Y db 0dh,0ah,'This is a leap year! $'
N db 0dh,0ah,'This is not a leap year! $'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
mov si,4
mov bx,0
mov ax,0
input:
mov ah,1
int 21h
sub al,30h
mov cl,04h
shl bx,cl
mov ah,0
add bx,ax
mov bin,bx
dec si
cmp si,0
ja input
mov ax,bin
judge1:
mov bx,4
div bx
cmp ax,0
jne judge1
cmp dl,0
jne next1
mov ax,bin
judge2:
mov bx,100
div bx
cmp ax,0
jne judge2
cmp dl,0
jne next2
mov ax,bin
judge3:
mov bx,400
div bx
cmp ax,0
jne judge3
cmp dl,0
je next2
next1:
lea dx,n
mov ah,9
int 21h
mov ah,4ch
int 21h
next2:
lea dx,y
mov ah,9
int 21h
mov ah,4ch
int 21h
CODES ENDS
END START