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

📄 ifleap.asm

📁 这是一个判断某一年是否为润年的程序
💻 ASM
字号:

Data segment    ;定义数据段
    	Info  	DB 0dh,0ah,'Please input a year: $'
    	Year 	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 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,Info  	;在屏幕上显示提示信息
        		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
          		push    cx
        		mov 	cx,word ptr N
        		call    echo
        		pop     cx   		
        
        jmp 	exit

		a1:    	push    cx
			mov     cx,Year
        		call	ECHO
        		pop	cx		
		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
     	
     	
	ECHO	PROC NEAR
			PUSH	DX
				LEA	dx,cx
        			mov 	ah,9
        			int 	21h	
			POP	DX
			RET
	ECHO    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 ENDP
code ends
   	
   	end start
      

⌨️ 快捷键说明

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