- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
PAGE
. .
目 录
TOC \o 1-3 \h \z \u 目 录 - 1 -
正 文 - 2-
一、题目的具体功能概述 - 2 -
二、软件设计流程及描述 - 2 -
三、源程序代码 - 5 -
四、课程设计体会 - 8-
五、参考文献 - 8-
正 文
题目的具体功能概述
显示提示信息,进入欢迎界面后显示提示信息。
清屏。
按任意键进入主界面,显示操作提示信息。
清屏。
用s键实现左移,e键实现上移,d键实现下移,f键实现右移,q键实现退出。
按下不同的功能键,五角星对应不同方向的移动。
二、软件设计流程及描述
1.软件设计流程步骤
(1).开始
(2).显示提示信息
(3).键盘输入字符
(4).清屏
(5).定五角星初始位置显示位置
(6).画五角星
(7).检查按键值
(8).若为q键则退出
(9).不是则判断是否为上
(10).是则调用清除子程序
(11).实现五角星上移
(12).否则转与下比较
同上……….
(16).按q键退出。
2.步骤分析
(1).由于后面画五角星和清除五角星反复用到BIOS中断显示中断2号定位光标和9号写点,首先对其进行了宏定义。
(2).用BIOS中断显示中断0号功能,ah=2选择80*25黑白文本方式显示。
(3).用DOS系统功能调用9号输出提示信息1和8号使按任意键进入下一界面。
(4). 用BIOS中断显示中断6号,al=0清屏。
(5). 用DOS系统功能调用9号输出提示信息2和8号使按任意键进入下一界面。
(6). 用BIOS中断显示中断6号,al=0清屏。
(7). 用BIOS中断显示中断2号,把画五角星的起始点光标定于屏幕中间。
(8).用si寄存器存储每一次画五角星起始点的 行列值。
(9).画五角星。把si寄存器偏移地址赋给dx,(用一个si寄存器使为了存放每一次五角星的起始点光标行列值,为后面的五角星清除和移动带来方便),引用宏定义,画出五角星第一个点,然后光标行列值不断变化,依次引用宏定义,画出完整五角星。
(10). 用BIOS中断键盘中断调用0号,从键盘读字符到al中,检查按键值。
(11).比较按键值是否与q键相等,若相等,用jz条件转移指令转到退出。若不等,则与e键(↑)值比较,若不等于,则转到向下移动五角星程序段。若等于,则先调用qing程序段清除五角星子程序,然后行减1,用jmp指令转到write程序段画五角星,实现五角星上移。同理,在后面的下,向左,向右移动的 程序中也做此类的分析操作。
(12).最后在向左移动的程序段中,前面已经判断过不是上,下,右键,而为了防止按下的键也不是左键(而是其他任意键)发生意外情况,则视其操作无效,即五角星不移动,此时就用jnz指令转到write还在本为画五角星,若是s(←)键,则先调用qing程序段清除五角星子程序,然后si减1,即列减1,用jmp指令转到write程序段画五角星,实现五角星左移。
(13).若按键为q,则退出。
三、源程序代码
data segment
buff1 db 0dh,0ah,0dh,0ah
db Welcome you to run this programme!
db 0dh,0ah,0ah
db ******please press any key to continue******$ ;提示信息1
buff2 db 0dh,0ah,0ah
db Now attention please!
db 0dh,0ah,0ah
db press e turn up,press d turn down,press s to left
db 0dh,0ah,0ah
db press f to right,press q to quit
db 0dh,0ah,0ah
db Now please press any key to continue$ ;提示信息2
data ends
stackes segment
db 200 dup(0)
stackes ends
codes segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
wr macro zifu ;宏定义写点
mov ah,2
您可能关注的文档
最近下载
- 部编版语文二年级上册7-古诗二首【教案】(表格式).pdf VIP
- 统编版语文二年级上册第一单元《快乐读书吧:读读童话故事》 教案.docx VIP
- 部编版语文(2024)二年级上册第一单元综合素养测评A卷(含答案).pdf VIP
- 青岛版五年级上册《第4章_简易方程》小学数学-有答案-单元测试卷(2).pdf VIP
- 统编版语文二年级上册快乐读书吧同步练习(含答案).docx VIP
- 统编版语文二年级上册快乐读书吧:读读童话故事 第一课时教案.docx VIP
- 2025年部编版新教材语文小学二年级上册期中检测题及答案(一).pdf VIP
- 统编版语文二年级上册第四单元测试卷含答案.docx VIP
- 统编版语文二年级上册第六单元测试卷含答案.docx VIP
- 统编版语文二年级上册第三单元测试卷含答案.docx VIP
原创力文档


文档评论(0)