基于VGA显示器的乒乓球游戏设计及原理
1。实验目的:
(1)学习分支、中断和逻辑表达式。
(2)熟悉汇编语言程序设计、编译和链接过程。
实验内容:
用DOS 21H调用键盘中断类型10函数,键盘的年份值的字符串?接收到的字节存储在缓冲器中。字符串中的每个字符都转换成相应的十进制值(0到9的10数字的ASC码值大于其自身的30H关系),用一年的表达式来判断是否是闰年。
3。编程技巧:
(1)想办法确定是不是闰年。判断闰年的规则:如果一年能被4整除,但不能被100整除,或者不能被400整除,则为闰年。
(2)用于确定特定年份为闰年的汇编语言表达式如下:
(((AX)MOD 4 EQ 0)和(MOD 100(AX)EQ 0))或((AX)MOD 400 EQ 0)
(AX)从键盘输入存储的年份值。
(3)如图所示:
应该
编译:
由数据段定义的数据段
InfoN DB 0DH,0AH of,请输入年份:$ '
DB 0DH,0AH,“今年是闰年!$'
N dB带宽0DH,0AH,“这是闰年!$'
瓦特DW 0
BUF DB 8
分贝?
DB 8 DUP(?)
艾德(男子名)
堆栈段的堆栈
DB 200 DUP(0)
堆栈结尾
代码段
假设DS:数据,SS:堆栈,CS:代码。
开始:MOV斧,数据
MOV DS,AX
InfoN LEA DX,屏幕上的信息显示。
MOV AH,9 INT 21H
LEA DX,来自键盘的输入缓冲;今年的弦乐
MOV啊
Int21H10Day BR />MOV CL,[BUF +1]
LEA DI,BUF +2
打电话给datacate
呼叫ifyears
JC A1
LEA DX,阳性
MOV啊,9
21H的解释
JMP出口
A1:LEA DX,?
MOV啊,9
INT 21H
出口:MOV AH,4CH
INT 21H
数据化过程附近;
推CX;
十二月CX
LEA SI,BUF +2
TT1:公司SI
循环TT1
;蕾斯·CX[2]
弹出CX
MOV DH,30H
MOV AX,MOV BL,1
L1:推斧
亚字节PTR [SI,卫生署
多字节指针[SI]
威尔·瓦克斯
爆破筒
MUL BL
12月SI
回路L1
浸水使柔软
ENDP数据中心
近10年
推BX
推CX
推送DX
瓦特·MOV·阿克斯
MOV·CX,AX & lt/触发MOV DX,0
MOV·BX,4岁
BX分部
CMP DX,0
JNZ LAB1
CX MOV艾克斯
MOV BX,100 BR />BX分部
CMP DX,0
JNZ实验室2
CX MOV艾克斯
MOV·BX,400
BX分部
CMP DX,0 BR />JZ实验室2
LAB1:中国图书馆分类号
JMP实验3
实验2:STC
实验三:弹出DX
弹出CX
弹出BX
浸水使柔软
ifyers ENDP
密码
从年底开始
或者多用途实时时钟设计。
(1),其设计目标是真正的结束时钟。
显示部和计时部的时钟定时器的时钟信号生成;
(2)中断的确切时间,其次,
(3)键盘控制功能选择:/>行和列扫描以确定键盘输入
自检键盘LED显示;
不同的按键输入对应不同的功能(比如LED轮回或者LED闪烁)。
2、设计要求
(1)键盘和8255的片选控制部分集成;
(2)LED数码管显示,其外围电路的时间部分;
(3份)构成8253和8259产生的时钟信号,由定时中断和动态刷新显示完成。