📄 leap1.asm
字号:
STACKSG SEGMENT STACK
DB 200 DUP(?)
STACKSG ENDS
DATA SEGMENT
INFORM DB 0DH,0AH,'Please input a year!$'
N DB 0DH,0AH,'This is not a leap year!$'
Y DB 0DH,0AH,'This is a leap year!$'
W DW 0
BUF DB 6
DB ?
DB 6 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACKSG,CS:CODE
START: MOV AX,DATA
MOV DS,AX
LEA DX,INFORM
MOV AH,09H
INT 21H
LEA DX,BUF
MOV AH,0AH
INT 21H
LEA SI,BUF
MOV CL,[SI+1]
MOV BX,OFFSET BUF+2
LETTER: MOV AL,[BX]
SUB AL,30H
MOV [BX],AL
INC BL
LOOP LETTER
;**************************************************
;LEA SI,BUF
;MOV CL,[SI+1]
;MOV BX,OFFSET BUF+5
;MOV CH,10
;MOV AX,1
;BBB: PUSH AX
;MUL BYTE PTR[BX]
;MOV DI,AX
;POP AX
;MUL CH
;MOV AH,0
;DEC BL
;LOOP BBB
LEA BX,BUF
MOV AX,[BX+2]
MOV AH,0
MOV DX,1000
MUL DX
MOV DI ,AX
MOV AX,[BX+3]
MOV AH,0
MOV DX,100
MUL DX
ADD DI,AX
MOV AX,[BX+4]
MOV AH,0
MOV DX,10
MUL DX
ADD DI,AX
MOV AX,[BX+5]
MOV AH,0
MOV DX,1
MUL DX
ADD DI,AX
;*******************************************************
MOV AX,DI
MOV DX,0
MOV BX,0004H
DIV BX
CMP DX,0
JNZ NLEAP
MOV AX,DI
MOV DX,0
MOV BX,190H
DIV BX
CMP DX,0
JZ LEAP
MOV AX,DI
MOV DX,0
MOV BX,64H
DIV BX
CMP DX,0
JZ NLEAP
JMP LEAP
LEAP: LEA DX, Y
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
NLEAP: LEA DX, N
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -