⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 runnian.asm

📁 汇编代码: 输入一个年数 判断是否是闰年 简单好用的代码 我自己写的代码供初学者使用
💻 ASM
字号:
data segment
    infon db 0dh,0ah,'Please input a year: $'
    Y db 0dh,0ah,'YES! $'
    N db 0dh,0ah,'NO! $'
    w dw 0
    buf db 8
        db ?
        db 8 dup(?)
data ends
stack segment stack
    db 200 dup(0)
stack ends
code 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]
          call datainput
          call judge
          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



datainput proc near
          lea si,buf+2
          mov bx,10
          mov ax,1
    l1:
          mul w
          mov w,ax
          mov dh,30h
          sub byte ptr [si],dh
          mov ax,1
          mul byte ptr [si]
          add w,ax
          mov ax,1
          mul bl
          inc si
          loop l1
          ret
datainput endp


   judge   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
   judge   endp
code ends
   end start


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -