欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年汇编动画小汽车程序设计 .pdf

    • 资源ID:27227746       资源大小:199.02KB        全文页数:11页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年2022年汇编动画小汽车程序设计 .pdf

    汇编语言程序设计综合程序设计实验报告题目:动画小汽车名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 一、项目简介由汇编语言编写程序,进入DOS 界面或 BIOS 界面,汇编语言程序结构有loop 循环,子程序调用数据定义等。有三个界面,主界面,帮助help 界面和游戏界面(小车动画)在界面上显示小车图形,并有相应的操作界面的说明。有玩家通过键盘操作,实现小车的基本功能,小车可以上,下,左,右,或一直匀速移动。二、小组成员具体分工小组成员:马晓林,杨金川马晓林:主要编写程序,查找错误,学习相关知识,查找相关资料,提出创新思想。杨金川:编程查相关资料,书籍,查找错误,讨论问题,提出功能等。三、需求分析与设计1、程序结构有 loop 循环, BIOS 文本显示,子程序等。2、关键指令分析该程序所涉及的关键指令及分析如下:指令: MOV AH, 02H/01h INT 21H DOS 键盘操作( INT 21H)的功能 02 能等待从键盘输入一个字符,但是输入字符,而且不进行Ctrl_C 或 Ctrl_Break 的检查处理。让操作者可以通过键盘控制小车,例如上、下、左、右的操纵小车指令: MOV AH,02H MOV BH,0 MOV DH,8 MOV DL,0 INT 10H BIOS 中断类型 10H 的功能 2 设置光标位置。光标位置的行号设在DH 寄存器中,列号设在 DL 中。而 BH 是包含的页号。使字符在屏幕的相应位置中输出,同时也能使字符串有相应的位置输出,显示相应界面。指令: MOV AH,09H LEA DX,STR(或 MOV DX,OFFSET STR1)INT 21H DOS显示操作 INT 21H的功能 9是显示字符串,它要求被显示输出的字符以$字符(24H)作为定界符。而DS:DX=缓冲区首地址,所以将字符串的首地址附给 DX。显示字符串。例如:显示出界面的字符串,让玩家知道如何操作界面。指令: MOV AH,6 MOV AL ,0 MOV BH,09FH MOV CH,0 MOV CL,0 MOV DH,24 MOV DL,79 INT 10H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - INT 10H 的功能 6 能使屏幕内容上卷的行,这个功能需要设置7 个参数。其中AL=0 初始化窗口,就是清屏的功能。而CH/CL=左上角行 /列号, DH/DL= 右下角行/列刷新屏幕,显示出设定颜色的屏幕,同时刷新,使小车移动时候,清除旧的小车痕迹。MOV ah,0fh ;读取当前显示方式,显示小车图案应用int 10h 3、运行环境通过 Masm for Windows 集成实验环境编写代码,执行并运行程序,分析修改代码。4、程序功能主要有:(1)清屏,显示出背景属性。(2)置光标位置显示字符及其属性,显示字符串,给予玩家操作界面的说明。(3)判断键盘输入,查看玩家输入的键,得到相应的操作。(4)玩家开始游戏,通过相应的操作控制小车。(5)循环第一至第四的功能。(简要说明:进入DOS/BIOS 界面,主界面显示出字符串,给予玩家操作提示,能开始游戏 (run) ,查看操作说明 (help),退出(exit),如果开始, 玩家能同过w ,s , a , d等键盘输入控制小车上、下、左、右,还有1键是小车一直移动,同时 q为返回或退出,任意键为退出。校车驶出车道会退出界面5、程序流程:四、代码及分析开始主页面操作,选择输入 r 输入 h 输入 0 输入 q Game 界面,小车运动Help 界面退出操作操作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - data segment car db 11 ;小车图案db 0b1h,70h,0,0 db 0b1h,70h,0,1 db 052h,70h,0,1 db 0dbh,7,1,2 db 0dbh,7,0,-1 db 0dbh,7,0,-1 db 0dbh,7,0,-1 db 0dbh,7,0,-1 db 04fh,7,1,0 db 04fh,7,0,4 db 03ah,7,0,3 road db 80 dup(*) ;车道m1 db 10 ;定义小车的起始位置m2 db 10 data ends data1 segment ;主页面提示str1 db 0ah,0dh,20 dup(?),db 0ah,0dh,20 dup(?), huan ying come in zhu ye mian! db 0ah,0dh db 0ah,0dh,20 dup(?),* db 0ah,0dh,20 dup(?),* please enter the chose !* db 0ah,0dh,20 dup(?),*1. enter r come in game yemian !* db 0ah,0dh,20 dup(?),*2. enter q go quit !* db 0ah,0dh,20 dup(?),*3. enter h come in help yemian !* db 0ah,0dh,20 dup(?),*4. enter 0 restart enter !* db 0ah,0dh,20 dup(?),*:$ str2 db 0ah,0dh,20 dup(?),db 0ah,0dh,20 dup(?), huan ying come in help yemian! ;help页面db 0ah,0dh db 0ah,0dh,20 dup(?),* db 0ah,0dh,20 dup(?),* please watch the chose !* db 0ah,0dh,20 dup(?),* enter d the car - !* db 0ah,0dh,20 dup(?),* enter a the car - !* db 0ah,0dh,20 dup(?),* enter w the car up !* db 0ah,0dh,20 dup(?),* enter s the car down !* db 0ah,0dh,20 dup(?),* enter 1 the car move !* db 0ah,0dh,20 dup(?),* db 0ah,0dh,20 dup(?),*1. enter 1 restart comeback yemian !* db 0ah,0dh,20 dup(?),*2. enter r comein game yemian !* db 0ah,0dh,20 dup(?),*3. enter q quit game !* db 0ah,0dh,20 dup(?),*:$data1 ends 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - code segment assume ds:data,cs:code start:mov ax,data mov ds,ax again: call clear ;调用清屏call yemian ;调用主页面mov ah,01h int 21h cmp al,72h ;输入 r,跳转到 game页面je game cmp al,68h ;h调用help页面je help cmp al,30h ;输入 0,跳转到 again je start1 cmp al,71h je out1 ;输入r,跳转到 game页面out1: mov ah,4ch int 21h start1:call delay1 ;调用延时jmp again game: call game1 yemian proc near ;* 主页面显示选择 * mov ax,data1 mov ds,ax push ax push bx push cx push dx mov ah,2 ;显示方式mov bh,0 mov dh,5 mov dl,0 int 10h mov dx,offset str1 mov ah,9 int 21h pop dx pop cx pop bx pop ax ret yemian endp ;* help proc near ;*help 页面显示选择 * mov ax,data1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - mov ds,ax call clear push ax push bx push dx mov ah,2 ;显示方式mov bh,0 mov dh,3 mov dl,0 int 10h mov dx,offset str2 mov ah,9 int 21h mov ah,01h int 21h cmp al,31h ;输入1,跳转到 yemian je again cmp al,72h ;输入r,跳转到 game页面je game cmp al,71h ;输入q,退出 game je out2 out2:mov ah,4ch int 21h pop dx pop bx pop ax ret help endp ;* game1 proc near ;*进入游戏界面 * push ax push dx mov ax,data mov ds,ax aa:call clean ;调用clean清屏lea si,car mov dh,m2 ;行数mov dl,m1 ;代表列数小车起始位置( m2,m1)call display call roaddis mov ah,07h int 21h cmp al,64h ;按d键往前移动je s1 cmp al,61h ;按a键往后移动名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - je s2 cmp al,77h ;按w键往上移动je s3 cmp al,73h ;按s键往下移动je s4 cmp al,31h ;按1键连续移动je move jmp exit s1: add m1,2 call delay1 jmp aa s2: sub m1,2 call delay1 jmp aa s3: sub m2,2 call delay1 cmp m2,4 ;当m2=4时退出,可以当做车道出轨je exit jmp aa s4: add m2,2 call delay1 cmp m2,16 ;当m2=16时退出,可以当做车道出轨je exit jmp aa move: lp1:call clean ;调用clean清屏call roaddis ;调用车道lea si,car mov dh,m2 mov dl,m1 call display mov cx,50 add m1,2 call delay1 loop lp1 exit:mov ah,4ch int 21h pop dx pop ax game1 endp delay1 proc near ;* 小车移动延时子程序 * push cx push dx mov dx,1000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - l1:mov cx,1800 l2:loop l2 dec dx jnz l1 pop dx pop cx ret delay1 endp clear proc near ;* 主页面调用清屏 * push ax push bx push cx push dx mov ah,6 ;BIOS功能调用: AH=6屏幕初始化mov al,0 ;0表示窗口空白mov ch,0 ;ch=左上角行号mov cl,0 ;cl=左上角列号mov dh,24 ;DH=右下角行号mov dl,79 ;DL=右下角列号mov bh,02h ;可改变运行环境颜色int 10h pop dx pop cx pop bx pop ax ret clear endp clean proc near ;game 程序调用清屏 * push ax push bx push cx push dx mov ah,6 mov al,0 mov ch,0 mov cl,0 mov dh,7 mov dl,79 mov bh,10h int 10h mov ah,6 ;BIOS功能调用: AH=6屏幕初始化mov al,0 ;0表示窗口空白mov ch,8 ;ch=左上角行号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - mov cl,0 ;cl=左上角列号mov dh,16 ;DH=右下角行号mov dl,79 ;DL=右下角列号mov bh,20h ;可改变运行环境颜色int 10h mov ah,6 mov al,0 mov ch,17 mov cl,0 mov dh,24 mov dl,79 mov bh,10h int 10h pop dx pop cx pop bx pop ax ret clean endp display proc near ;* 小车图案显示子程序 * push ax push bx mov ah,0fh ;读取当前显示方式int 10h sub ch,ch mov cl,si inc si next:add dh,si+2 add dl,si+3 mov ah,2 ;设置光标位置int 10h mov al,si mov bl,si+1 push cx mov cx,1 mov ah,9 ; 写字符及其属性int 10h pop cx add si,4 ;si指向下一个字符loop next pop bx pop ax ret display endp 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - roaddis proc near ;* 车道 * push ax push bx push cx push dx mov ah,02h ;置光标位置在( 12,0)位置mov dh,12 mov dl,0 int 10h lea di,road ;显示道路标示mov cx,80 q1:mov al,di mov ah,0eh ;道路显示方式int 10h inc di loop q1 pop dx pop cx pop bx pop ax ret roaddis endp code ends endstart 使用 DOS 和 BIOS 混合使用,可以实现界面转换,通过控制实现小车的基本功能,并且小车驶出车道会退出界面,实现小车安全行驶功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 五、实验总结通过了这次汇编的实验, 我们小组对使用各指令有了更深刻的体会,同时也加速了对汇编的认识对掌握指令使用有了进一步的认识。这次实验设计, 使我们加强了对书本知识的巩固, 还有课外资料的了解, 开始我们查找了许多资料, 让我们的自学能力得到了很好的锻炼, 在编程是我们遇到了很多困难, 但我们翻阅资料不断设计和更新,最终成功了。期间我们发现了自身许多不足,并改正。对汇编语言也有了更深的理解。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

    注意事项

    本文(2022年2022年汇编动画小汽车程序设计 .pdf)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开