吃豆子程序 通信工程

吃豆子程序 通信工程

ID:15106628

大小:111.50 KB

页数:8页

时间:2018-08-01

吃豆子程序 通信工程_第1页
吃豆子程序 通信工程_第2页
吃豆子程序 通信工程_第3页
吃豆子程序 通信工程_第4页
吃豆子程序 通信工程_第5页
资源描述:

《吃豆子程序 通信工程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、信息工程学院课程设计报告设计题目:吃豆子程序名称:微机原理与接口课程设计班级:通信1002班姓名:学号:设计时间:至指导教师:评语:评阅成绩:评阅教师:8一、课程设计的性质和目的(1)通过课程设计,进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关软件程序设计的基本知识和基本方法,硬件电路的设计等;(2)通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,掌握软硬结合的控制程序设计,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。二、课程设计的要求1、遵循模块化、结构化的程序设计方法。2、要求程序必须正确。3、程序简明易懂,多运用输入输出提示,有出错信息及必要的注释。

2、4、要求程序结构合理,语句使用得当。5、适当追求编程技巧和程序运行效率。三、主要仪器设备及软件PC机、MASM汇编软件、绘图软件及仿真等。四、课程设计题目及要求题目:吃豆子程序要求:在屏幕上显示多行“豆子”(用“.”表示),用一个“嘴巴”(用字符“C”表示),程序运行时,单击空格,“嘴巴”开始从左到右逐行还是“吃豆子”,一直到“豆子”被吃完停止或者单击空格暂停。五、课题分析及设计思路吃豆子程序这个课程设计,我个人觉得比较有意思,但也觉得这题目不是很简单,它不但要运用我们上课所学的知识,还涉及到许多课外的内容。对于这个题目我的设计思路是:在屏幕上显示多行“豆子”(用“.”表示),用一个“嘴巴

3、”(用字符“C”表示),程序运行时,单击空格,“嘴巴”开始从左到右逐行还是“吃豆子”,一直到“豆子”被吃完停止或者单击空格暂停。主要运用DOS调用及BIOS调用得到相关的程序得到的,在程序数据段定义一段再调用DOS中断显示豆子,用字符“C”表示嘴巴。用“.”表示豆子;首先屏幕上要布满“.”也就是豆子;然后字符“C”每走一步,此时豆子也要在相应位置减少一个,直到豆子被吃完或者按空格键停止游戏。主要程序调用命令及格:1.int21H中断movah,07H;调用07H设置屏幕滚屏显示int21H;调用系统中断,键盘输入movax,4c00hint21h;中断调用程序movah,07H;利用07号

4、DOS系统功能调用退回DOS8int21H;调用系统中断movax,4C00H;调用INT21H的4CH号中断,安全退出程序int21H;调用系统中断2.int10H中断moval,02H;02H用文本坐标下设置光标位置int10H;BIOS对屏幕及显示器所提供的服务movah,02H;02H用文本坐标下设置光标位置程序movbh,0xordx,dx;二进制运算做清0操作,dx清0int10六、程序主要流程图:吃豆子程序流程图如下:8七、程序主要代码与分析:assumecs:code,ds:data;assume:段寄存器伪指令。所谓关联,指某一段寄存器使用某一指定的段空间。cs:code

5、,ds:data,代码段寄存器cs与code关联;数据段寄存器ds与data关联datasegment;定义数据段temp1dw?temp2dw?;定义段temp1和temp2dataendscodesegment;定义程序代码段inal,60H;从端口60输入内容并传送到alcmpal,57;比较送到al的数与57(在ascll码中代表十进制的9)的差jnznospace;执行跳转movcx,1;把立即数1送到cxnospace:moval,20H;设置INT1Fh字体指针out20H,al;向0x20I/O地址送0x20的数据iret;中断返回程序start:movah,00H;00H

6、设置显示模式moval,02H;02H用文本坐标下设置光标位置int10H;BIOS对屏幕及显示器所提供的服务movah,02H;02H用文本坐标下设置光标位置movdl,'.';取要显示的字符到DL中movcx,80*25;dos最大屏幕表示量,默认最大显示量就是80*25setpoint:int21H;调用系统中断,键盘输入loopsetpoint;循环指令testkey:;模拟键盘的空格健动作movah,07H;调用07H设置屏幕滚屏显示int21H;调用系统中断,键盘输入cmpal,'';比较指令,保证全为空格jnzexit;不为空格则跳转movax,0movds,ax;把段地址0

7、通过寄存器ax送到dsmovax,datamoves,axmovbx,9*4+2;把偏移地址送到bxmovax,[bx];寄存器间接寻址方式,把bx地址所指的值送给axmoves:temp1,axmovax,code8mov[bx],ax;把AX的值赋予BX所指向的内存单元movbx,9*4;把段地址送到bxmovax,[bx]moves:temp2,axmovwordptr[bx],0;类型操作符对名字或标号的类型属性

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。