案例1判断闰年程序

来源:互联网 发布:免费换ip软件 编辑:程序博客网 时间:2024/04/30 04:21

这是一个判断某一年是否为闰年的程序,输入具体的年份,可输出是本年是否为闰年的提示信息。


代码块:

data segment    ;定义数据段    infon db 0dh,0ah,'Please input a year: $'    Y db 0dh,0ah,'This is a leap year! $'    N db 0dh,0ah,'This is not a leap year! $'    w dw 0    buf db 8        db ?        db 8 dup(?)data endsstack segment stack    db 200 dup(0)stack endscode segment          assume ds:data,ss:stack,cs:code    start:mov ax,data          mov ds,ax          lea dx,infon  ;在屏幕上显示提示信息          mov ah,9          int 21h          lea dx,buf    ;从键盘输入年份字符串          mov ah,10          int 21h          mov cl, [buf+1]          lea di,buf+2          call datacate          call ifyears          jc a1          lea dx,n          mov ah,9          int 21h          jmp exit    a1:   lea dx,y          mov ah,9          int 21h    exit: mov ah,4ch          int 21h datacate proc near;          push cx;                                                                 dec cx          lea si,buf+2     tt1: inc si          loop tt1          ;lea si,cx[di]          pop cx          mov dh,30h          mov bl,10          mov ax,1      l1: push ax          sub  byte ptr  [si],dh          mul  byte ptr [si]          add w,ax          pop ax          mul bl          dec si          loop l1          ret datacate endp   ifyears proc near           push  bx           push  cx           push  dx           mov ax,w           mov   cx,ax           mov  dx,0           mov  bx,4           div  bx           cmp  dx,0           jnz  lab1           mov   ax,cx           mov  bx,100           div  bx           cmp dx,0           jnz  lab2           mov  ax,cx           mov bx,400           div  bx           cmp  dx,0           jz  lab2     lab1: clc           jmp lab3     lab2: stc     lab3: pop  dx           pop  cx           pop  bx           ret   ifyears endpcode ends   end start
1 0
原创粉丝点击