第二次实验报告.doc
第二次实验报告长春理工大学汇编语言实验 报告实验题目:用 用 G DEBUG 程序调试程序功能段实验时间:20_年4月6日实验地点:东三教 912班级:1405111学号:14054姓名:王国伟一.实验目的1.继续学习使用 DEBUG 程序的各种命令。2.利用 DEBUG 学习了解计算机取指令、执行指令的工作过程。3.掌握 8086/8088 基本指令的使用方法和功能。二.实验准备1.G DEBUG 命令1) G 命令格式:G=起始地址 断点地址功能:从起始地址开始执行到断点地址,如不设断点地址,则程序一直执行到终止指令才停止2) P P 命令功能:执行汇编程序,单步跟踪与 与 T T 命令不同的是:P 命令不会跟踪进入子程序或软中断。其使用方式与 T T 相同3) N N 命令功能:指定文件名。为读/写文件做准备4) W W 命令功能:向磁盘写内容5) L L 命令功能:从磁盘将文件或扇区内容读入内存注意:使用该命令前,必须用 N N 命令设定文件名三.实验任务1.按照下列给定步骤完成求累加和程序: :程序 :MOV B_,1000MOV C_,10MOV AL,0LOP: ADD AL,B_INC B_J: LOOP LOPINT3步骤: :1) 用 A 命令将程序键入到 100H 开始的内存中,在键入时记下标号LOP 和 J 的实际地址,在键入 LOOP 指令时 LOP 用实际地址值代替。LOP:0B50:0108 J:0B50:010B2) 用命令 N AA 将此程序命名为文件 AA(文件名可任取)。3) 用 R 命令将 B_:C_ 改为程序长度值(即最后一条指令后面的地址减去开始地址) ,用 R 命令把 B_ 设为:0000H,C_ 设为文件长度。4) 用命令 W 100 将此程序存到 AA 命名的磁盘文件中。5)用命令 Q 退出 DEBUG。6)用命令 DEBUG AA 再次调入 DEBUG 和文件 AA,可用 U 命令检查调入程序。若调入 DEBUG 时忘了加 AA 文件名,可用 N 命令和 L 命令将文件调入。7) 用 E 命令在内存地址 1000H 处键入 16 个数字8)用命令 G=100 J(J 用实际地址代替),使程序运行并停在断点 J上,检查A_,B_ 的值是否符合你的预计值。9)用 T 命令运行一步,观察程序方向(IP 值)和 C_ 值是否与你的估计一样, 若不一样,检查程序是否有错。10)重复 G J 与 T,再检查 A_ 是否正确。(J 为断点地址)11)用 G 命令使程序运行到结束,检查 A_ 值是否正确 2.用命令 A A 汇编下列指令,判断指令正误并说明原因。i.LEA DI,A_错误,因为 lea 指令传送的必须为变量名,标号或地址表达式ii.MOV DS,2021错误,不能将立即数放入数据段中iii.PUSH AL错误,push 一次压入 16 位数据,al 只有八位iv.OUT 900,AL错误,因为当端口地址大于 FFH 的时候应该将端口地址送到d_ 中,al 只能操作八位数v.MOV B_,0错误,因为没有标明是字节传送还是字传送3.利用 T T ,P P ,G G 命令,执行下列指令段,注意它们的不同之处MOV DI,300MOV SI,400MOV C_,3CLDREP MOVSBINT 3如果用 G 命令直接中断,并且显示寄存器标志和下一条要执行的命令。T 是执行一个指令,通常采用跟踪一条指令,但用户也可以用指令条数设定一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态以及下一条指令在内存中的保存情况。P 其实也是执行一条指令,但区别是在执行 INT 的时候会把这个 INT 整个的执行完毕,而不是跳转到这个中断程序去跟踪执行使用 P 命令执行程序,该程序不间断运行,直到循环、重复字符串指令、软件中断或者完成了指定地址的子例程为止,或者直到执行了指定数量的机器指令为止。若被执行的指令不是循环、重复的字符串指令、软件中断或子程序,则P 命令与 T(跟踪)命令的作用相同。4.程序: :MOVDI,1000MOV C_,8MOV SI,20_CLCLOP:MOV AL,SIADC DI,ALINC SIINC DILOOP LOPINT20步骤: :1) 用 A 命令键入此程序2) 用 E 命令在 1000H 开始处键入一个 8 字节被加数,在 20_H开始处键入一个 8 字节加数,均为低字节在前面。3) 用 G 命令运行此程序,并用 D 命令检查其结果(存放在哪里?),是否正确?4)将 INT 20H 指令改为 INT 3,有何区别?若这条指令不加,行不行?试试。INT 20H 程序终止INT3 为断点5)请说明这个程序完成的功能是什么?将0b50:1000与0b50:20_对应的地址内的数相加并存入di四实验小结在写入程序时,应当先读懂程序,大致上了解一下该程序段所执行的功能或者流程,以便后面进行查看时判断程序的正误.读程序的过程中就需要熟练的运用寻址方式来读懂程序,最先开始就因为寻址方式而读不懂程序.学会了 G 命令的使用,同时了解了 T.G.P 命令它们之间的不同.了解到了 INT 的部分指令的功能,如 INT20H INT3 等等.材料丰富,数据可靠!用词干练,文笔老辣。多元统计分析p 实验报告姓名及学号:数 梁菊丽202104404116日期:20_/10/131、实验内容有一份关于居民储蓄调查的模拟数据存储在E_cel中,文件名为“居民储蓄调查数据._ls”。该数据的第一行是变量名。请将该份数据转换成SPSS数据文件,并在SPSS中指定其变量名标签和变量值标签。2、实验目的通过本实验熟悉SPSS文件建立、数据预处理,特别是掌握在SPSS中读取其他格式的数据文件的方法。并掌握在SPSS中指定变量名标签和变量值标签的方法。3、实验方案分析p 原数据是存储在E_cel表格中,需要把数据转换成SPSS数据,SPSS能够直接读取其他格式的数据文件,并将其保存为SPSS格式的数据。在SPSS的Variable View 窗口中,根据已给出的文件名为“居民储蓄调查数据._ls”,实现对变量名标签和变量值标签的指定。.4、操作过程A、在SPSS的Date View窗口中将E_cel表格中的文件名为“居民储蓄调查数据._ls”转换成SPSS数据:(1)选择菜单FileOpenData;(2)选择数据文件的类型为E_cel格式,并输入数据文件名“居民储蓄调查数据1._ls”。(3)选择Open,出现(4)选择Continue。B、在SPSS中指定其变量名标签和变量值标签:(5)选择Variable View窗口,在Lable栏中,每一格分别输入“居民储蓄调查数据1._ls”中给出的15道题目,在Values栏的每一格中,分别输入“居民储蓄调查数据1._ls”中的15道题目的选项。操作得到的图表如下:(6)选择Add,在Value中输入2,在Label中输入“存钱合算” (7)再选择Add,最后选择OK。其它剩下的题目与选项与此指定方法相同。 5、实验结果(。给出实验得到的重要结果)6、讨论(。对上述得到的结果做出说明与讨论)7、结论(。根据以上的讨论给出恰当的结论)第 7 页 共 7 页