五角星移动汇编语言课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

xiangxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档