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

加入VIP,免费下载资源
 

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

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

下载须知

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

版权提示 | 免责声明

本文(汇编语言:猜数字游戏的设计与实现.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

汇编语言:猜数字游戏的设计与实现.doc

1、猜数字游戏的设计与实现1 需求说明或问题描述1.1 问题描述程序运行后自动产生一个1100之间的随机整数,游戏开始,程序根据游戏者输入的数字与所需猜测数字进行比较,并给出响应,游戏者根据程序响应再猜数字,最后得到正确数字。1.2 需求说明程序应有操作提示,输入和输出,界面追求友好,最好是菜单式的界面。设计若干用例(测试数据),上级测试程序并分析(评价)所设计的程序。2 设计说明2.1 简要设计框图如下:2.2 简要分析思想首先通过指令在程序中产生随机数,由键盘输入的数字与其比较,如果大于随机数,则提示输入的数太大,请重新输入;如果小于随机数,则提示输入的数太小,请重新输入;如果等于随机数,则提

2、示正确;如果输入的数不是十进制数,则直接退出。3 详细的算法描述3.1随机数的产生通过查找各种资料知,随机数的产生也是一种算法,通过种子数据,计算出不同的随机数。但,此次试验,我通过对系统当前时间的提取来表示随机数,即用时间中的“秒”来作这个随机数。指令为:mov ah,2ch ;取系统时间,CH:CL=时间:分钟;DH=秒int 21h3.2 从键盘输入数据如果仅用指令:mov ah,01h Int 21h来从键盘读取数据,则只能取一个字符,即,只能读取一位数字;在试验中通过反复调试,可以对每次输入的数(存放于al中)与“回车”的ASCII比较,如果不是“回车”,则返回继续输入;如果是回车,

3、则跳出,完成数据的输入。每一次返回继续输入时,原来的al中的数据要以个位加入到bx中,即,bx=bx*10+al;这样可以保证输入的数据不会丢失。3.3 数据的比较用输入的数据(存放于bx中)与随机数(存放于a中:mov a,dx)比较;如果大于,则输出提示数据太大,请重新输入,并跳转到键盘输入数据指令;如果小于,则输出提示数据太小,请重新输入,并跳转到键盘输入数据指令;如果等于,则提示正确,并结束。其中,小于跳转用jb;大于跳转用ja;等于用jz。3.4 其他指令回车换行指令:为了保持程序输出结果的工整性,多用回车换行指令:MOV AH,02h MOV DL,0ah INT 21h MOV

4、DL,0dh INT 21h输出提示性语句指令:为使程序输出界面更互动化,常用提示性语句如:MOV AH,9MOV DX,OFFSET mess2MOV 21h退出语句:使用该语句退出整个程序:MOV AH,4CHINT 21H4 源程序与执行结果(含测试方法和测试结果)4.1 源程序5data SEGMENTmess1 db Please input your number:$mess2 db Your number is larger,please change your number:$mess3 db Your number is smaller,please change your

5、number:$mess4 db Thats the right number!$ a dw ?data ENDScode SEGMENT assume cs:code,ds:data begin:mov ax,datamov ds,ax mov ah,9mov dx,offset mess1int 21h MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hmov ah,2ch ;取当前时间的秒为随机数int 21hmov al,dhmov ah,0mov a,axmov bx,0 l0:MOV AH,1 ;输入十进制数 INT 21h CMP A

6、L,0dhJZ l4cmp al,48jb exitcmp al,57ja exitAND AL,0fhMOV AH,0XCHG AX,BXMOV CX,10MUL CXADD BX,AXJMP l0 l4: MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hcmp bx,a ;输入值与随机数比较jb l1 ;小于 cmp bx,a ;大于ja l2 cmp bx,a ;等于jz l3 l1:mov ah,9mov dx,offset mess3int 21h MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT

7、 21hmov ax,0mov bx,0jmp l0 l2:mov ah,9mov dx,offset mess2int 21h MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hmov ax,0mov bx,0jmp l0 l3:mov ah,9mov dx,offset mess4int 21hexit:MOV AH,02h MOV DL,0ah INT 21h MOV DL,0dh INT 21hmov ah,4chint 21hcode ends end begin4.2 执行结果4.2.1 执行方法:masm 01.asmLink 010

8、14.2.2 结果:结果1:(正确)G:masm01Please input your number:55Your number is larger, please change your number:25Your number is smaller, please change your number:40Your number is larger, please change your number:30Your number is smaller, please change your number:35Your number is smaller, please change you

9、r number:37Thats the right number!结果2:(输入错误)G:masm01Please input your number:12Your number is smaller,please change your number:32Your number is larger,please change your number:45u(输入了非数字符号“u”)G:masm5 总结设计心得特点:我个人认为本次试验的最大难点就是产生随机数,然而通过查询,发现汇编中产生随机数的命令都很复杂,并且有些命令是我没有见过的,经过多次考虑,还是选择了使用秒针随机选中的数据作为随机数

10、。这或许是一个特点,也是一个不足!不足:虽然对汇编的基本指令格式印象深刻,但是,还是忘记了一些老师上课讲过的指令方法。比如说,十进制数字的输入,特别是输出,虽然本次实验没有输出十进制数,但是仔细回想一下的话,对我也是一个考验。另外,对各种int 21h的指令依然记得不甚牢靠,需要查找资料等。收获与体会:通过这次的课程设计,让我重温了一遍汇编语言的知识。重新熟悉了各种汇编指令。特别是对于算法思想有了一定的提高,各种汇编指令的小技巧,数据各种各样的操作指令序列让我感觉到,汇编语言也能够越学越让人沉入,容易让人感到成功的喜悦!展望:虽然程序已经写完,但是还是遗憾不能够弄懂真正的随机数是怎样产生的;另外,也因为这个程序小了点,所以没有用子程序的方法,我想如果加大程序,还是用子程序的方法会显得条理更加清楚明白。如果将题目中的数据改成浮点型,即会有小数产生,那么这个程序有改怎么写,其中,小数的输入,小数的随机取值,这些都是会遇到的问题!

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922