欢迎来到天天文库
浏览记录
ID:45762822
大小:802.55 KB
页数:140页
时间:2019-11-17
《云大组成与汇编实验指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、云南大学软件学院本科生课程实验指导书针篇机徂啟厲理鸟汇偏猪言程為说针第一章DEBUG的使用一、DEBUG概述DEBUG是在DOS状态下面供程序员使用的程序调试工具。它可以用来检查内存屮任何地址屮的内容以及修改特定地址屮的内容cDEBUG还可以用于逐指令执行某个程序,追踪程序的执行过程,比较一条指令执行前后数值变化情况,读写文件与磁盘扇区。此外,DEBUG还可以用于读写端口中的数值。在DEBUG状态卜,所有数据都作为字节序列,可以用DEBUG把任何类型的文件读入内存中。DEBUG能够处理的数据为两种:十六进制数和ASCII码,使用两位数衣示十六进制数据(0〜9,
2、A〜F)。在DEBUG屮涉及内存小的数据时,要指定数据所在的内存单元的地址,地址的输入格式是:[段地址]:[位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使川(称PSP结构,包含程序执行的各种信息),该区域川于建立DOS与程序之间的联系。在DEBUG中,使用四位十六进制数表示地址(0~9,A〜F)。DEBUG输入数据时有两种方法:提示方法和非提示方法。在提示方法下,输入耍求输入数据的命令,后跟保存数据的地址。执行后可以看到该地址中已有的内容及一个冒号提示符。此时可以在提示符下输入一个新的值或
3、者按下回车键或CTRL+C回到“一”提示符。在非提示方法下,输入保持数据的内存地址以及要输入的数据。DEBUG的卅动:进入DOS状态下,键入DEBUG,按ENTER键,如:C:>DEBUG,则屏幕显示:符号“一”是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。DEBUG的退出:在DEBUG的提示符后输入Q命令,按ENTER键,则退出DEBUG返回DOS。DEBUG的使用:在DEBUG的提示符后输入DEBUG命令,按ENTER键。二、DEBUG命令详解★A命令格式:A[地址]功能:将指令直接汇编成机器码输入到内存中。参数说明:[地址]指定存放键
4、入汇编语言指令的内存单元的位置。A命令使用说明:用于小段程序的汇编及修改目标程序,所冇输入的数字均默认为十六进制,并且不需要以“h”字符结尾。用户装入内存的汇编语句是连续存放的,若没有指定地址,并月•前面没冇使用汇编命令,该语句被汇编到CS:0100区域,则在它上次停止处开始汇编。注意:1.直接在A命令下输入跳转指令时,跳转指令后应跟跳转到的语句所在内存单元的地址,不能跟标号;使用跳转指令时,可以指定跳转指令的属性:near,far。near前缀可以缩写为ne。如F例所示:-aO100:01000100:010()jmp1020100:0102jmpnear1
5、050100:0105jmpfar1Oa1.汇编语言指令所涉及到的操作数可以是字操作数也可以是字节操作数,在语句不能判别操作数的类型时,可以使用前缀wordptr或者前缀byteptr指定操作数的类型。缩写分别是:wo和by。如下列所示:-aO100:01000100:0100decwordptr[100]0100:0102decwoPtr[100]0100:0105decbytePtrL100J2.在DEBUG下,应注意区分立即操作数和内存地址的操作数,使用包括在中括号([])中的操作数表示内存地址。3.在DEBUG下,能够使用的伪指令仅有5B和DW两个,分
6、别用于定义字节和字操作数,此时定义的操作数被存放在该定义指令所在的内存空间中。如下列所示(注意内存空间的变换,why?):-a0100:01()0()1()():()1(X)DB'ABCDEFG'0100:0107★C命令格式:C[源地址范围][目的地址]功能:比较两内存区域中的内容是否相同。若不同则按字节显示英地址和内容,若相同则不显示任何内容。参数说明:[源地址范围[指定要比较的内存笫一个区域的起始和结朿地址,或起始地址和长度。[H的地址]指定耍比较的第二个内存区域的起始地址。C命令使用说明:如果[源地址范围]和[忖的地址]中内存单元的数据相同,Debug
7、将不显示任何内容而直接返回到Debug提示符。如果有差界,Debug将按如下格式显示:[源地址]源地址中内容目的地址中内容[目的地址]如卜-列所示:-CCS:!()()105DS:3()();(假定CS=0AF6;DS=1()00)0AF6:0100880AF6:0101COOAF6:OIO2890AF6:0103D80AF6:0104650AF6:0105660()1000:0300001000:0301001000:0302001000:0303001000:03040()1000:0305★D命令格式:D[地址]或D[起始地址][冃的地址]功能:以内存映
8、象方式显示内存中的数据。参数说明:指定
此文档下载收益归作者所有