data segment ;定义数据段
infon db 0dh,0ah,'Please input a year: $' ;声明空间存储输入提示信息,其中0d回车,0a换行
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(?) ;声明空间作为缓冲区,总共10个字节,第一个表示准备接受的字
;符数,即8;第二个表示实际接受的字符数,初始为空(?);后面8
;个字节作为缓冲接收字符,后面两行只是做初始化工作
data ends
stack segment stack
db 200 dup(0)
stack ends ;定义一个栈,200字节
code segment
assume ds:data,ss:stack,cs:code
start:mov ax,data
mov ds,ax ;指定堆栈
lea dx,infon ;在屏幕上显示提示信息
mov ah,9
int 21h ;将infon开始的字符串输出到屏幕
lea dx,buf ;从键盘输入年份字符串
mov ah,10
int 21h
mov cl, [buf+1] ;获取实际输入长度
mov ch,0 ;保证cx的
8086汇编实例:判断闰年详解(为初学者)
这篇博客通过8086汇编语言解释了如何判断一个年份是否为闰年的详细过程。文章展示了如何从用户输入读取年份,将其转化为数字并进行计算,最后根据闰年的条件进行输出。代码包括数据段定义、栈段定义、代码段以及关键的判断闰年子程序。
摘要由CSDN通过智能技术生成