欢迎来到天天文库
浏览记录
ID:18447770
大小:360.50 KB
页数:22页
时间:2018-09-18
《汇编语言实验指导2012》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《汇编语言程序设计》上机实验指导书《汇编语言程序设计》上机实验指导书孙友仓计算机学院网络与接口实验室2012.2-21-《汇编语言程序设计》上机实验指导书实验一DEBUG的启动及其基本命令的使用一、实验目的掌握DEBUG的基本命令及其功能二、实验设备IBM-PC及其兼容机(安装汇编软件)三、实验内容与步骤DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。DEBUG的命令都是一个字母,后跟一个或多个参数:字母 [参数]命令的使用中注意:① 字母不分大小写;
2、② 只使用16进制数,没有后缀字母;③ 分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符;④ 每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行;⑤ 命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。许多命令的参数是主存逻辑地址,形式是“段基地址 : 偏移地址”。其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不输入段地址,则采用默认值,可以是缺省段寄存器值。如果没有提供偏移地址,则通常就是当前偏移地址。对主存操作的命令还支持地址范围这
3、种参数,它的形式是:“开始地址 结束地址”(结束地址不能具有段地址),或者是:“开始地址 L字节长度”。-21-《汇编语言程序设计》上机实验指导书DEBUG命令一览:分类命令格式功能简介读写寄存器R显示所有寄存器的当前内容R寄存器名显示和修改指定寄存器内容RF显示和修改标志寄存器内容汇编和反汇编A[内存地址]从指定地址开始汇编指令U[内存块]对指定内存块进行反汇编执行指令T[:内存地址][条数]单步或多步执行指令P[=内存地址][条数]单步或多步执行指令G[=内存地址]连续执行指令G[=内存地址]断点地址设断点执行程
4、序读写内存D[内存块]显示指定内存块内容E内存地址字符或数值串修改指定内存内容F内存块字符或数值串填充指定内存块S内存块字符串或数值在指定内存块中查找串M内存块1内存块2的首地址复制内存块内容C内存块1内存块2的首地址比较两个指定内存块读写磁盘N[d:][path]文件名.扩展名指定欲读写的磁盘文件W内存地址将指定内存块写入文件L[内存地址]将文件调入内存读写I/O端口I端口地址读入指定端口的内容O端口地址数值将数据写入指定端口十六进制加减H数值1数值2计算并显示两数之和,两数之差退出DEBUGQ退出DEBUG,返回
5、DOS1.DEBUG程序的启动在DOS提示符下,可键入命令:C:>DEBUG↙DEBUG命令的完整格式为:DEBUG[d:][path][文件名][参数1][参数2]。其中[d:]是盘符,[path]是路径,文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没
6、有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。-21-《汇编语言程序设计》上机实验指导书2.DEBUG的主要命令(1)检查和修改寄存器内容的命令R,它有三种方式:1)显示CPU内部所有寄存器内容和标志位状态,格式为:-R例如:输入-R↙,得到结果如下:2)显示和修改某个指定寄存器内容,格式为:-R寄存器名例如:输入-RAX,得到结果如下:表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,输入修改内容后,如:则AX内
7、容由0000改为0A0A3)R命令显示标志寄存器标志位状态的含义如下表所示:标志名置位(值为1)复位(值为0)溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位AuxiliaryCarry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC-21-《汇编语言程序设计》上机实验指导书修改标志位状态,命令格式为:-RF例如:输入-RF,输出结果如下:
8、这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如:(2)汇编命令A,格式为:-A[地址]该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。A命令中如果没有指定地址,则接着上一个A命令的最后一个单元开始;若还没有使用过A命令,则从当前CS : IP开始。例如:输入代码,则代
此文档下载收益归作者所有