汇编机器人对话程序大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《汇编语言程序设计》
综合程序设计实验报告
题目:机器人对话
目录
一、简介--------------------------------------------------------------------2
二、小组成员及具体分工-----------------------------------------------2
三、需求分析与设计-----------------------------------------------------3
1.需求分析-----------------------------------------------------------3
2.设计-----------------------------------------------------------------3
四、代码及分析------------------------------------------------------------4
1.程序源代码--------------------------------------------------------4
2.程序截图-----------------------------------------------------------7
五、实验总结---------------------------------------------------------------8
一、简介
要用汇编语言实现一个机器人图案,并且实现机器人对话功能。本实验还实现了机器人身体上的字可以闪动,并且字有不同的颜色,对话实现的是,问名字和回答名字。
二.小组成员及具体分工
小组成员: 于雯泽,贾博文
具体分工:我们两个人一开始是各自查资料,先互相告诉一下自己的想法,然后我们最终下定结论,要用汇编语言实现一个机器人图案,并且实
现机器人对话功能。本实验还实现了机器人身体上的字可以闪动,并
且字有不同的颜色,对话实现的是,问名字和回答名字。
我们不断地改进程序的不足,通过查阅资料,阅读程序,最终完成了起初的结果。
我们虽然做得比较简单,但是都是我们自己辛勤的劳动成果,对做这次的实验的过程中,又另外的获得了新的知识
三、需求分析与设计
●需求分析
本实验是要通过多次显示来构造字符图形,应考虑专门定义一个字符图表。字符图形包括每个字符的ASII码,属性及在显示图形中的相对位移量。相对位移量是指前一个字符和当前要显示字符之间的行距和列距。字符图形表中的第一个字节是组成图形的字符数,运动员是从8行40列处开始显示。
●设计
①整个系统的设计
从上到下,从左到右,个字符依次是:头不是一个笑脸字符,ASII码是02H,放在第一行,上身是由第二,第三两行共8个字符组成。第二行分别是字母O,ASII码是4FH,字母S,ASII码是53H,字母P,ASII码是50H,字母O,ASII码是4FH,字母T,ASII码是54H,字母R,ASII码是52H,字母T,ASII码是54H,字母O,ASII码是4FH,.第三行是一个实心方块,ASII 码是DBH。下半身有三行构成,分别是4个实心方块,ASII码是DBH,两个实心方块,ASII码是DBH,和两个字母O,ASII码是4FH,其中sport五个字符时反响属性显示,其他字符都是以正常字符显示。
开始先画一个笑脸符号表示的头,第二个字符是字母O表示拳头,在笑脸的下一行的左三列,接下来便是SPORT五个字母,第八个字符是字母O表示另一个拳头,下一个是实心方块,位于SPORT中的O的正下方,,下一行是四个连续的实心方块,接下来是两个实心方块,最后两个字符表示脚,即字母O.
②子程序之间调用关系
首先是编写了一个清屏子程序,为CLEAR,还编写了一个显示运动员子程序,为SPORTDIS,在调用显示运动员子程序时,先调用清屏子程序,还编写了一个换行子程序,为NEWLINE,还编写了一个实现人机对话的子程序为DUIHUA,在调用了SPORTDIS子程序后,调用了实现人机对话的子程序,在人机对话子程序里面调用了换行子程序
四、代码及分析
程序运行源代码如下:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DA TA SEGMENT
BUFF DB 60
NUM DB ?
CHARS DB 60 DUP(?)
MESG DB 0DH,0AH
DB 'what is your name?:$'
MEAG DB 0DH,0AH
DB 'your name is:$'
******************************************************************** SPORT DB 17 ;字符图形表
DB 2,7,0,0 ;ASII码属性,相对位移
DB 4FH,7,1,-3
DB 53H,-01H,0,1
DB 50H,-02H,0,1
DB 4FH,-03H,0,1
DB 52H,-04H,0,1
DB 54H,-05H,0,1
DB 4FH,7,0,1
DB 0DBH,7,1,-3
DB 0DBH,7,1,-1
DB 0DBH,7,0,1
DB 0DBH,7,0,1
DB 0DBH,7,0,1
DB 0DBH,7,1,-4
DB 0DBH,7,0,4
DB 4FH,7,1,-5
DB 4FH,7,0,5
DA TA ENDS
******************************************************************** CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DA TA
MOV DS,AX
CALL CLEAR ;调用清屏子程序
LEA SI,SPORT ;SI指向字符图形表
******************************************************************** MOV DH,8 ;显示位置8行40列
MOV DL,40
******************************************************************** CALL SPORTDIS ;调用显示运动员子程序