




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言程序设计期末大作业仔细阅读课本第十章有关写显示缓存的方法以及INT 10H功能调用说明。参考附件给出的图形显示方法,完成期末作业。以下题目从易到难,期末分值与难度大小成正比。可任选一题,完成后提交纸质报告,报告内容包含题目、算法流程、模块功能说明、源代码(含详细注释)、实验结果截图、总结。作业由班长、学习委员收齐后于日期为2013年6月24日交(具体时间到时候联系)。 题1. 游戏程序常常用随机数来控制其图形在屏幕上移动。请编写一程序,用随机数来控制笑脸符(ASCII码02H)显示的位置。笑脸符每次显示的列号总是递增1。而行的位置可能是前次的上一行,下一行或同一行,这根据随机数是0、1或2来决定,当行号变为0、24或列号变为79时显示结束。笑脸在每个位置上显示若干毫秒(具体时间自行设计)。(提示:INT 1AH的AH=0是读当前时间的功能调用,利用该功能返回的随时都在变化的时间值作为产生随机数的基数。见课本第十章练习);题2. 参考附件实例,显示一如下形状的拖拉机从左向右行驶;题3. 参考附件实例,将一小球(圆)沿着如半径为300像素的上半圆周移动(如同);题4. 参考附件实例,将一小球沿着抛物线形式起降,运行路线如下图所示(建议选用抛物线方程y-y0=a*(x-x0)(x-x0),每次顶点高度是上次高度的80%);题5. 参考附件实例,将实例中的空心圆编程实心圆显示完成题2-题4中一个。难度级在相应题目上提高半级。附件说明:(1) 通过INT 10H的不同的功能号(AH)的选择可实现获取当前显示器工作方式、设置显示器显示方式。(2) 在图形工作方式下调用INT 10H可以实现用颜色写像素。查看附件代码中的WritePixel子程序。(3) 画水平线段和画圆周曲线查看子程序HorLine和Circle,以上题目中可能需要自行添加画垂直直线段的子程序。(4) 注意画线、画圆周子程序都使用了写点子程序WritePixel,而写点子程序对点先去原来颜色,颜色字节的每个二进制位求反来显示该像素,这样做的好处是要擦除画的点、线时,只要再反色写点或画线就可以了。(5) 花大概3-4天时间仔细阅读附件实例,后只要1-2天的时间修改实例就可以做完上面任意一个题目。附件:;This example can introduce you to finish the Assembly excise quickly.;Chenggen Yang, NanChang University, 2013.06.12STACK SEGMENT STACK DW 100H DUP(?) TOS EQU $STACK ENDS;主程序段CODE SEGMENT ASSUME CS:CODESTART: MOV AX,STACK MOV SS,AX MOV SP,TOS ;设置堆栈栈顶 MOV AH,0FH INT 21H PUSH AX ;获取当前的显示方式,并将它保护到堆栈里 MOV AX,12H INT 10H ;将屏幕显示方式设置为VGA (640*480)彩色方式 MOV DX,400 MOV SI,0 MOV DI,639 CALL HorLine ;在第402行画直线 MOV CX,9 ;CX存放圆周半径 MOV SI,CX MOV DI,400 SUB DI,CX ;SI和DI分别存放圆心横坐标和纵坐标 ;下面代码显示从左到右滚动的圆周 DrawAgain: CALL Circle ;画圆周 CALL Delay ;延时 CALL Circle ;擦除圆周 CALL Delay ;延时 INC SI CMP SI,640 JNZ DrawAgain ;圆心从左到右循环画圆和擦除圆 ;下面代码显示落下和回弹的小球(圆周) MOV BX,CX ;CX存放圆周半径 NEG BX ADD BX,400 MOV DX,BX ;DX存放小球落地是圆心纵坐标 MOV BX,CX ;BX存放小球弹起到顶点的纵坐标 MOV AX,0 ;AX存放小球是落下(0)还是上升(1)的状态 MOV SI,320 ;SI存放小球落下和弹起所在的横坐标。 MOV DI,CX ;对DI加1或减1来实现小球下落和上升。(SI,DI)为圆心。L_DOWN: CALL Circle CALL Delay CALL Circle CALL Delay TEST AX,1 JNZ L_UP ;转向圆上升 INC DI CMP DI,DX JBE L_DOWN ;未到达底部继续下降 PUSH AX PUSH DX PUSH CX MOV AX,DX SUB AX,BX SHL AX,1 SHL AX,1 XOR DX,DX MOV BX,5 DIV BX MOV BX,AX ;到达底部计算下一次上升高度 POP CX POP DX POP AX CMP BX,0 ;下次上升高度是0,则结束 JZ EXIT NEG BX ADD BX,DX ;上升顶点行 MOV AX,1 JMP L_DOWN L_UP: ;上升处理 DEC DI CMP DI,BX JAE L_DOWN ;未到达顶点,继续上升 MOV AX,0 JMP L_DOWN ;到达顶点,准备下降 EXIT: POP AX ;堆栈保存的原来显示方式出桟 MOV AX,2 INT 10H ;恢复原来的显示方式 MOV AH,4CH INT 21HCODE ENDS;定义子程序的段PCODE SEGMENT ;画像素点(DX,CX): 像素点(DX,CX)反色显示WritePixel PROC FAR PUSH BX PUSH AX MOV BL,0 ; 0页 MOV AH,0DH INT 21H XOR AL,0FFH MOV BL,0 MOV AH,0CH INT 10H POP AX POP BX RETWritePixel ENDP;HorLine: 画行为DX,列从S到DI的水平线HorLine PROC FAR PUSH CX PUSH SI PUSH DI CMP SI,DI JBE OK_LR XCHG SI,DI OK_LR: MOV CX,SI LOP_DRAW: CALL WritePixel INC CX CMP CX,DI JBE LOP_DRAW POP DI POP SI POP CX RETHorLine ENDP; 画圆周八上个对称点WrCircle PROC FAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI MOV CX,SI ADD CX,AX MOV DX,DI ADD DX,BX CALL WritePixel MOV CX,SI SUB CX,AX MOV DX,DI ADD DX,BX CALL WritePixel MOV CX,SI ADD CX,AX MOV DX,DI SUB DX,BX CALL WritePixel MOV CX,SI SUB CX,AX MOV DX,DI SUB DX,BX CALL WritePixel MOV CX,SI ADD CX,BX MOV DX,DI ADD DX,AX CALL WritePixel MOV CX,SI SUB CX,BX MOV DX,DI ADD DX,AX CALL WritePixel MOV CX,SI ADD CX,BX MOV DX,DI SUB DX,AX CALL WritePixel MOV CX,SI SUB CX,BX MOV DX,DI SUB DX,AX CALL WritePixel POP DI POP SI POP DX POP CX POP BX POP AX RETWrCircle ENDP;以点(SI,DI)为圆心画半径为CX的圆周曲线Circle PROC FAR PUSH AX PUSH BX PUSH DX MOV AX,0 MOV BX,CX ;CX为半径 MOV DX,1 SUB DX,CX CALL WrCircle AGAIN: CMP AX,BX JAE CircleOK INC AX CMP DX,0 JGE OTHER PUSH AX SHL AX,1 ADD AX,3 ADD DX,AX POP AX JMP WritePointsOTHER: PUSH AX SUB AX,BX SHL AX,1 ADD AX,5 ADD DX,AX POP AX DEC BXWritePoints: CALL WrCircle JMP AGAIN CircleOK: POP DX POP BX POP AX RETCircle ENDP;延时程序,可修改子程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考公共课物理(工)-工程数学-线性代数参考题库含答案解析
- 2025年学历类自考公共课大学语文-数量方法(二)参考题库含答案解析
- 2025年色母粒项目提案报告
- 全国高二数学试卷
- 2025年美白护肤品项目申请报告
- 2025年铝硅靶、铝硅铜靶材项目立项申请报告
- 2025年学历类自考专业(法律)法理学-法理学参考题库含答案解析
- 2025年学历类自考专业(法律)民法学-法理学参考题库含答案解析
- 2025年学历类自考专业(法律)民事诉讼法学-公司法参考题库含答案解析
- 2025年学历类自考专业(法律)合同法-环境与资源保护法参考题库含答案解析
- 制造技术部工作总结报告
- 临时彩钢围搭设施工方案
- 储能站施工组织设计施工技术方案(技术标)
- DB11-T 1947-2021 国土空间分区规划计算机辅助制图标准
- 2024年统编版七年级道德与法制上册全册教案汇编(含26个教案)
- 教培机构培训资料如何上好第一次课
- 洗煤厂安全知识培训课件
- 合同制合同范例
- 2024年司法考试刑法真题及答案
- 《隔离技术规范》课件
- 《云南省学校安全条例(修订草案)》知识培训
评论
0/150
提交评论