辽工大实验一 汇编语言程序调试与运行

辽工大实验一 汇编语言程序调试与运行

ID:1037061

大小:98.50 KB

页数:8页

时间:2017-11-07

辽工大实验一 汇编语言程序调试与运行_第1页
辽工大实验一 汇编语言程序调试与运行_第2页
辽工大实验一 汇编语言程序调试与运行_第3页
辽工大实验一 汇编语言程序调试与运行_第4页
辽工大实验一 汇编语言程序调试与运行_第5页
资源描述:

《辽工大实验一 汇编语言程序调试与运行》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验一汇编语言程序的调试与运行一、实验目的1.熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。2.掌握数据在内存中的存放方式和内存操作数的寻址方式。3.掌握汇编语言源程序的组成格式。4.掌握8086/8088指令及伪指令的格式及用法。5.掌握汇编语言源程序的编辑、调试及运行方法。二、实验准备知识1.DEBUG程序的启动DEBUG是专门为汇编语言设计的一种汇编语言调试工具,它通过单步执行,设置断点连续执行等方式为汇编语言程序员提供了非常有效的调试手段。在DOS提示符下,可输入命令:C>DE

2、BUG[d:][path][文件名][参数1][参数2]其中文件名是被调试文件的名称,它必须是执行文件(.EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“–”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改,显示和执行。如果没有文件名,则是以当前内存的内容进行工作。2.DEBUG的主要命令1)汇编命令A格式:–A[起始地址]功能:该命令从指定地址开

3、始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。2)反汇编命令U(1)格式1:–U[起始地址]功能:该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。(2)格式2:–U[起始地址终止地址]格式3:–U[起始地址L字节数]功能:该命令对指定范围的内存单元进行反汇编。例如:3)运行命令G格式:–G[=起始地址1][断定点地址2[断点地址3……]]功能:从指定地址开始执行程序。在设定的断点处程序暂停,并显示全部

4、寄存器内容和下一条要执行的指令。一般设置断点前最好用U命令查看一下指令开始的地址。断点数最多为10个。如:–G=1001084)跟踪命令(单步执行)T格式1:–T[=起始地址]格式2:–T[=起始地址指令条数]功能:从指定地址开始执行程序,每次执行一条指令,然后显示各寄存器的内容和状态寄存器的内容,及以助记符形式表示的下一条指令。如:–T=1005)显示内存单元内容的命令D格式1:–D[起始地址]格式2:–D[起始地址终止地址]格式3:–D[起始地址L字节数]功能:显示指定内存单元的内容。6)修

5、改内存单元内容的命令E(1)用给定的内容代替指定范围的单元内容格式:–E地址内容表例如:–E2000:0100F3"XYZ"8D其中F3、"X"、"Y"、"Z"和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,"X"、"Y"、"Z"将分别存入其ASCII码值。(2)逐个单元相继地修改格式:–E地址例如:–E100系统显示如下:18E4:010089.78此命令是将原100号单元的内容89改为78,78是用户输入的。7)检查和修改寄存器内容的命令R(1)显示CPU内

6、部所有寄存器内容和标志位状态格式:–RR命令显示中标志寄存器中各标志位状态的含义如表1所示。表1标志寄存器标志位含义标志名置位(1)复位(0)溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位AuxiliaryCarry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC(2)显示和修改某个指定寄存器内容格式:–R寄存器名例

7、如输入:–RAX如显示如下:AX2000:则表示AX当前内容为2000H,此时若不对其作修改,可按ENTER键;否则,输入修改后内容,如输入::3000则AX内容由2000H改为3000H。(3)显示和修改标志寄存器格式:–RF如系统将显示如下:OVDNEINGZRACPECY–这时若不作修改可按ENTER键,否则在“–”号之后键入修改值,键入顺序任意。如:OVDNEINGZRACPECY–PONZDINV8)退出DEBUG命令Q格式:–Q功能:退出DEBUG程序,返回DOS。3.汇编语言源程序

8、的分段结构(1)段的定义1)段定义伪指令:数据段、堆栈段、代码段的定义2)段的定位类型、组合类型、段的别名的说明(2)段寄存器的装入1)指定段寄存器与段之间的对应关系伪指令:ASSUME2)将段地址装入指定段寄存器:MOV指令4.8086/8088的指令系统(1)常用指令:掌握其格式及用法1)数据传送类指令①数据传送:MOV(数据传送)②数据交换:XCHG(数据交换)③入栈及出栈:PUSH(入栈)、POP(出栈)2)算术运算类指令①加法运算:ADD(加法运算)、ADC(带进位加法运算)、INC(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。