汇编机器人对话程序大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 ;调用显示运动员子程序

相关文档
最新文档