ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:17.42KB ,
资源ID:16604696      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16604696.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言写的贪吃蛇小游戏源代码Word格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汇编语言写的贪吃蛇小游戏源代码Word格式.docx

1、mov frow,10mov fcol,6mov dh,10 mov dl,26mov ah,2mov bh,0int 10hmov ah,9lea dx,msg1int 21hmov dh,11mov dl,7lea dx,waymov dh,12mov dl,20lea dx,msgmov ah,0int 16hmov ah,6mov al,0mov ch,0mov cl,0mov dh,24mov dl,79mov bh,10mov dh,0mov dl,0lea dx,score1mov dl,15lea dx,writerlea dx,emailmov score2,48push e

2、s:9*4 ;将原int9入口地址保存pop ds:09*4+22mov word ptr es:9*4,offset int9 ;更改中断向量表mov es:9*4+2,csjmp aawrite macro row,col,cnt ;宏定义用于向当前光标处输出字符 push bx push cx push dx mov dh,row mov dl,col mov ah,2 mov bh,0 int 10h mov ah,9 mov bl,11 mov cx,1 lea di,cnt ;50 mov al,di pop dx pop cx pop bxendmreadh macro row,

3、col ;宏定义用于读出当前光标处字符 push dxpush axpush bxmov dh,rowmov dl,colmov ah,08hmov pst,alpop bxpop axpop dxwnear macro ;宏定义只用在readcg宏中当readcg的所有判断都不成立调用此宏local wnext1local wnext2local wnext3local wnext4dec dhreadh dh,dlcmp pst,1jne wnext1write dh,dl,tal2jmp wnext4wnext1:inc dhdec dljne wnext2wnext2:inc dljn

4、e wnext3wnext3:jne wnext4wnext4:readcg macro row,col ;宏定义用于改变判断出来的字符local tnup,tnup1,tnup2,tnlf,tnlf1,tnlf2,tndn,tndn1,tndn2,tnrt,tnrt1,tnrt2,gooutwrite dh,dl,tal1dec rowcmp pst,4jne tnup1jmp tnup2tnup1:jmp near ptr tnuptnup2:write dh,dl,blkjne tnupjmp near ptr goouttnup:dec coljne tnlf1jmp tnlf2tnl

5、f1:jmp near ptr tnlftnlf2:jne tnlftnlf:inc rowjne tndn1jmp tndn2tndn1:jmp near ptr tndntndn2:jne tndntndn:inc coljne tnrt1jmp tnrt2tnrt1:jmp near ptr tnrttnrt2:jne tnrttnrt:wneargoout:addone: ;此标号功能是将蛇身增加一inc score2mov dh,1mov cx,23cmpad1:push cxmov cx,79cmpad2:cmp pst,2jne nextad3jmp nextad4nextad3

6、:jmp near ptr nextadnextad4:write dh,dl,snkjne natupjmp outonatup:jne natlfnatlf:jne natdnnatdn:jne natrtnatrt:outo:pop cxjmp near ptr endadnextad:jmp nextad2chgad2:jmp near ptr cmpad2nextad2:loop chgad2sub dl,79jmp nextad1chgad1:jmp near ptr cmpad1nextad1:loop chgad1endad:jmp near ptr crtfaa:从这开始产生

7、最原始的蛇mov addrs,offset turnrightmov dh,10mov dl,1mov cx,3wrt: loop wrtmov len,6jmp wrt1ovflw:当蛇碰壁或自身转到此游戏结束mov bh,7mov dh,17mov dl,17lea dx,gmovmov ax,0 ;恢复int9中断push ds:pop es:9*4stop:cmp al,rje aa1jmp aa2aa1:jmp near ptr startaa2:qjne stopjmp near ptr exitwrt1:此处蛇行走过程的无限循环call dlycmp dh,25je ovflwc

8、mp dl,80cmp dh,0cmp dl,-1lea ax,turnrightcmp addrs,axjne tonxt2je tonxt1jmp tonxt2tonxt1:jmp ovflwtonxt2:lea ax,turnupjne tonxt4je tonxt3jmp tonxt4tonxt3:tonxt4:lea ax,turndownjne tonxt6je tonxt5jmp tonxt6tonxt5:tonxt6:lea ax,turnbackjne tonxt8je tonxt7jmp tonxt8tonxt7:tonxt8:jmp nextacrtf1:jmp near

9、 ptr addonecrtf:call rand1call rand2inc frowmov ah,frowmov al,fcolcheck1:check2:je nextnjmp nextnnnextn:cmp ax,dxje crtfnextnn:loop check2loop check1write frow,fcol,foodnexta:je crtf12jmp crtf13crtf12:jmp near ptr crtf1crtf13:cmp score2,58jl normalmov score2,49inc score0normal:mov dl,8write dh,dl,sc

10、ore2add dl,score0write dh,dl,zerocmp adrs,17je jmp1cmp adrs,145cmp adrs,31je jmp2cmp adrs,159cmp adrs,32je jmp3cmp adrs,160cmp adrs,30je jmp4cmp adrs,158jmp addrsjmp1:lea ax, turndowncmp ax,addrsmov addrs,offset turnupjmp near ptr turnupjmp2:mov addrs,offset turndownjmp near ptr turndownjmp3:jmp nea

11、r ptr turnrightjmp4:mov addrs,offset turnbackjmp near ptr turnbackturnright:此处实现蛇向左走cmpr1:cmpr2:je nextr4jmp near ptr nextrnextr4:readcg dh,dljmp near ptr endrnextr:jmp nextr2chgr2:jmp near ptr cmpr2nextr2:loop chgr2jmp nextr1chgr1:jmp near ptr cmpr1nextr1:loop chgr1endr:jmp near ptr wrt1turnup:此处实现

12、蛇向上走cmpu1:cmpu2:jne nextu3jmp nextu4nextu3:jmp near ptr nextunextu4:jmp near ptr endunextu:jmp nextu2chgu2:jmp near ptr cmpu2nextu2:loop chgu2jmp nextu1chgu1:jmp near ptr cmpu1nextu1:loop chgu1endu:turndown:此处实现蛇向下走cmpd1:cmpd2:jne nextd3jmp nextd4nextd3:jmp near ptr nextdnextd4:jmp near ptr enddnext

13、d:jmp nextd2chgd2:jmp near ptr cmpd2nextd2:loop chgd2jmp nextd1chgd1:jmp near ptr cmpd1nextd1:loop chgd1endd:turnback:此处实现蛇向右走cmpb1:cmpb2:jne nextb3jmp nextb4nextb3:jmp near ptr nextbnextb4:jmp near ptr endbnextb:jmp nextb2chgb2:jmp near ptr cmpb2nextb2:loop chgb2jmp nextb1chgb1:jmp near ptr cmpb1ne

14、xtb1:loop chgb1endb:exit:mov ah,4chint9:更改后的中断服务程序in al,60hmov adrs,almov al,20hout 20h,aliretDLY PROC near ;延时子程序 PUSH CX PUSH DX MOV DX,10000DL1: MOV CX,9801DL2: LOOP DL2 DEC DX JNZ DL1 POP DX POP CX RETDLY ENDPRAND1 PROC PUSH AX STI MOV AH,0 ;读时钟计数器值 INT 1AH MOV AX,DX ;清高6位 AND AH,3 MOV DL,23 ;除23,产生023余数 DIV DL MOV frow,AH ;余数存frow,作随机行数 POP AXRAND1 ENDPRAND2 PROC MOV DL,79 ;除79,产生079余数 MOV fcol,AH ;余数存fcol,作随机列数RAND2 ENDPCODE ENDS END start

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1