第二次实验报告.doc

上传人:scccc 文档编号:14599917 上传时间:2022-02-09 格式:DOC 页数:5 大小:36.50KB
返回 下载 相关 举报
第二次实验报告.doc_第1页
第1页 / 共5页
第二次实验报告.doc_第2页
第2页 / 共5页
第二次实验报告.doc_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第二次实验报告.doc》由会员分享,可在线阅读,更多相关《第二次实验报告.doc(5页珍藏版)》请在三一文库上搜索。

1、长春理工大学汇编语言实验题目: 实验时间: 实验地点: 班 级: 学 号: 姓 名:实验报告用DEBUG!序调试程序功能段王国伟2016年4 月6 日东三教9121405111实验目的1. 继续学习使用DEBUGS序的各种命令。2. 利用DEBUGS习了解计算机取指令、执行指令的工作过程。3. 掌握 8086/8088 基本指令的使用方法和功能。二. 实验准备1. DEBU(命令1) G 命令格式:G=起始地址断点地址 功能:从起始地址开始执行到断点地址,如不设断点地址,则程序一直执行到终止指令才停止2) P 命令功能:执行汇编程序,单步跟踪与 T 命令不同的是: P 命令不会跟踪进入子程序或

2、软中断。 其使用方式与T 相同3) N 命令功能:指定文件名。为读 / 写文件做准备4) W命令功能:向磁盘写内容5) L 命令功能:从磁盘将文件或扇区内容读入内存注意:使用该命令前,必须用N命令设定文件名三 . 实验任务1. 按照下列给定步骤完成求累加和程序程序 :MOV BX,1000MOV CX,10MOV AL, 0LOP: ADD AL,BXINC BXJ: LOOPLOPINT3步骤 :1)用A命令将程序键入到100H开始的内存中,在键入时记下标号 LOP和J的实际地 址,在键入LOOP旨令时LOP用实际地址值代替。LOP:0B50:0108 J:0B50:010B2)用命令N A

3、A将此程序命名为文件 AA(文件名可任取)。3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址),用R命令把BX设为:0000H, CX设为文件长度。4)用命令 W 100将此程序存到 AA命名的磁盘文件中。5)用命令 Q退出DEBUG6)用命令DEBUG AA!次调入DEBUGS文件AA,可用U命令检查调入程序。 若调入DEBUG寸忘了加AA文件名,可用N命令和L命令将文件调入。7)用E命令在内存地址 1000H处键入16个数字8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点 J 上,检查 AX,BX的值是否符合你的预计值。9)用T命令运行一步,观

4、察程序方向(IP值)和CX值是否与你的估计一样,若不一 样,检查程序是否有错。10)重复G J与T,再检查AX是否正确。(J为断点地址)11)用G命令使程序运行到结束,检查AX值是否正确2. 用命令A汇编下列指令,判断指令正误并说明原因。i. LEA DI , AX错误,因为lea指令传送的必须为变量名,标号或地址表达式ii. MOV DS 2010错误,不能将立即数放入数据段中iii. PUSH AL错误,push 次压入16位数据,al只有八位iv. OUT 900, AL错误,因为当端口地址大于FFH的时候应该将端口地址送到dx中,al只能操作八位数v. MOV BX, 0错误,因为没有

5、标明是字节传送还是字传送3. 利用T, P, G命令,执行下列指令段,注意它们的不同之处MOV DI, 300MOV SI, 400MOV CX, 3CLDREP MOVSBINT 3如果用 G 命令直接中断,并且显示寄存器标志和下一条要执行的命令。 ?T 是执行一个指令,通常采用跟踪一条指令,但用户也可以用指令条数设定 一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态以 及下一条指令在内存中的保存情况。 ?P其实也是执行一条指令,但区别是在执行INT的时候会把这个INT整个的执 行完毕 , 而不是跳转到这个中断程序去跟踪执行使用 P 命令执行程序,该程序不 间断运行,直到

6、循环、重复字符串指令、软件中断或者完成了指定地址的子例程 为止,或者直到执行了指定数量的机器指令为止。若被执行的指令不是循环、重 复的字符串指令、软件中断或子程序,则P?命令与T (跟踪)命令的作用相同。4. 程序 :MOV DI,1000MOVCX,8MOVSI,2000CLCLOP: MOV AL,SIADCDI,ALINC SIINC DILOOP LOPINT 20步骤:1)用 A 命令键入此程序2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个 8 字节加数 , 均为低字节在前面。3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确?4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试 试。INT 20H 程序终止 INT3 为断点5)请说明这个程序完成的功能是什么?将 0b50:1000 与 0b50:2000 对应的地址内的数相加并存入 di四实验小结在写入程序时 , 应当先读懂程序 , 大致上了解一下该程序段所执行的功能或者流程 , 以便后面 进行查看时判断程序的正误 . 读程序的过程中就需要熟练的运用寻址方式来读懂程序 ,最先 开始就因为寻址方式而读不懂程序 .学会了 G命令的使用,同时了解了命令它们之间的不同 了解到了 INT 的部分指令的功能 , 如 INT20H INT3 等等 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1