- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一
一.实验目的:
掌握DEBUG 的基本命令及其功能
二.实验内容:
DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。
1、DEBUG的主要命令
汇编命令A,格式为:-A[地址];
该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。
例如:
-a
136B:0100 mov ax,100
136B:0103 mov bx,200
136B:0106 mov cx,300
136B:0109 mov dx,400
136B:010C
-
反汇编命令U,有两种格式:
1)-U[地址]
该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。
例如:
-u
2)-U范围
该命令对指定范围的内存单元进行反汇编,
例如:
运行命令G,格式为:
-G [=地址1][地址2[地址3。。。]]
其中地址1规定了运行起始地址,后面的若干地址均为断点地址。
例如:
追踪命令T,有两种格式:
1)逐条指令追踪:-T[=地址];该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。
2)多条指令追踪:-T[=地址][值],该命令从指定地址起执行n条命令后停下来,n由[值]确定。
显示内存单元内容的命令D,格式为:-D[地址]或-D[范围]
修改内存单元内容的命令E,它有两种格式:
1)用给定的内容代替指定范围的单元内容:-E地址 内容表
例如:-E 2000:0100 F3 “XYZ” 8D
其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元049e:0005到0008的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。
2)逐个单元相继地修改:-E地址
例如:
此命令是将原5号单元的内容f3改为8989是程序员键入的。
检查和修改寄存器内容的命令R,它有三种方式:
1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R
R命令显示中标志位状态的含义如下表所示:
标 志 名 置 位 复 位 溢出Overflow(是/否) OV NV 方向Direction(减量/增量) DN UP 中断Interrupt(允许/屏蔽) EI DI 符号Sign(负/正) NG PL 零Zero(是/否) ZR NZ 辅助进位Auxiliary Carry(是/否) AC NA 奇偶Parity(偶/奇) PE PO 进位Carry(是/否) CY NC 2)显示和修改某个指定寄存器内容,格式为:
-R 寄存器名
例如打入:-R AX
表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如:
-R BX
BX 0369
:059F
则BX内容由0369改为059F
3)显示和修改标志位状态,命令格式为:
-RF
系统将给出响应,如
OV DN EI NG ZR AC PE CY-
这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如
OV DN EI NG ZR AC PE CY-PONZDINV
三 、实验任务
参照附录1,掌握DEBUG程序的各种命令,重点是命令R,D ,A,U,T,P,G命令的使用。
用命令A汇编下列指令,判断指令正误并说明原因。
ROR AX,8
LEA DI,[AX]
MOV DS,2010
PUSH AL
OUT 900,AL
MOV [BX],0
用命令查看8086/8088 CPU在开机后执行的第一条指令。
用命令D查看DS:200~22F和F000:200~22F两内存块内容,用命令F将字符“A”分别填入这两个内存块,比较填入前后结果,了解可读写内存RAM和只读内存ROM的区别。
用A命令汇编一条INT 1C指令,用命令T单步执行该指令,比较指令执行前后CS和IP、堆栈指针SP及堆栈内容变化情况,了解什么是中断向量表,中断向量和中断子程,掌握中断指令的执行过程。
利用T,P,G命令,执行下列指令段,注意它们的不同之处。
MOV DI,300
MOV SI,400
MOV CX,3
CLD
REP MOVSB
INT 3
MOV AH,2
MOV DL,41
INT 21
INT 3
先在CS:200处汇编一条RET指令,再在CS:100处汇编。
MOV BX,200
CALL BX
INT 3
然后从MOV BX,200处开始执行。
实验三 分支程序实验
一、实验目的
1)掌握分支程序的设计方法。
2)掌
文档评论(0)