急需一份微机原理与接口技术课程设计

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:19:45
带有源代码的
希望达人帮助下。。。

课题名称:闰年计算
1.实验目的:
(1) 学习分支、中断、和逻辑表达。
(2) 熟悉汇编语言程序的编译、链接过程。
2.实验内容:
利用DOS 21H中断类型的10号键盘功能调用,将键盘接受到的年份数值的字符串按字节存入缓冲区。将字符串中的每个字符转换为对应的十进制数值(利用0-9这10个数的ASCⅡ码值比其本身大30H的关系),利用判断某年是否为闰年的表达式,输入该年是否为闰年的信息。
3.编程提示:
(1)找到判断是否为闰年的方法。判断闰年规则:如果某年能被4整除但不能被100整除或者该年能被400整除,则该年为闰年。
(2)判断某年为闰年的汇编语言表达式为:
(((AX) MOD 4 EQ 0) AND ((AX) MOD 100 EQ 0)) OR ((AX) MOD 400 EQ 0)
其中,(AX)中存放的是从键盘输入的年份值。
(3)参考流程见图:

4.汇编程序:
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 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 ;在屏幕上显示提示信息