组成与汇编实验指导书(2)

2018-11-18 21:38

计算机组成原理与汇编语言实验指导书

从键盘键入下面命令:

-E 100

Debug 按下面的格式显示第一个字节的内容(假定DS=0AF6): 0AF6:0100 EB.

要将该值更改为 61,请在插入点键入(使用符号”_”表示) 61,如下所示: 0AF6:0100 AB.61_

此时,若按下空格键,将显示下一个内存单元中的内容: 0AF6:0100 AB.61 EF._

此时,又可以在插入点键入新的内容,改写当前显示的内存内容,若不需要改写当前内存单元的内容,可以直接按下空格键,将显示下一个内存单元的内容,如此,一直到按 ENTER 停止 e 命令并返回到 Debug 提示符下。

若使用减号键,操作和按下空格键一样,区别在于将显示上一个内存单元的内容。 注意:使用该种方法,只能键入16进制数,不能键入字符串。 从键盘键入下面命令:

-E DS:100 EF‘ABC‘41

则执行上面的命令后,从DS:100内存单元开始的5个连续的字节中的内容将被数据0EFH,字符“A”“B”“C”的ASCII码和数据41H替换。

★ F命令

格式:F[地址范围] [字节或字节串]

功能:将要填写的字节或字节串填入由地址范围指定的存储器中。

参数说明:[地址范围]指定要填充内存区域的起始和结束地址,或起始地址和长度。[字节或字节串] 指定要输入的数据,可以由十六进制数或引号包括起来的字符串组成。

F命令使用

说明:如果[地址范围]包含的字节数比[字节或字节串]中的数值大,Debug 将对[字节或字节串]中提供的值反复使用,直到[地址范围]中的所有字节全部填充。如果在[地址范围]中的任何内存单元损坏或不存在,Debug 将显示错误消息并停止f命令。 如果[字节或字节串] 包含的数值多于[地址范围]中的字节数,Debug 将忽略[字节或字节串]中额外的值。 从键盘键入下面的命令: -F 1000:100 105 ‘ABCDEFG’

指令执行后,DEBUG使用’ABCDEF’填充1000:100到1000:105内存单元。 从键盘键入下面的命令: 1000:100 150 40 45 51 52 44

指令执行后,DEBUG反复使用40,45,51,52,44填充从1000:100 到 1000:150的内存单元,直到 50h 个字节全部填满为止。

★ G命令

格式:G[=起始地址] [[断点]……]?

- 5 -

计算机组成原理与汇编语言实验指导书

功能:执行正在调试的程序,当达到断点时停止执行, 并且显示寄存器标志和下一条要执行的命令。

参数说明:[=起始地址]指定当前在内存中要开始执行的指令所在的内存单元的地址。如果不指定[=起始地址],DEBUG将从 CS:IP 寄存器中的当前地址开始执行程序。[[断点]……] 指定可以设置为 g 命令的部分的 1 到 10 个临时断点。 G命令使用

说明:G命令中的=不能省略,可以只给出偏移地址,默认段地址为当前的CS;若省略=,则该地址就成为G命令中的断点地址。程序将从指定的开始地址不停的执行程序,一直到遇到结束指令为止,并显示“Program terminated normally”。断点地址只对本次G命令有效;下一条G命令若需要断点地址,应重新进行指定。当使用G命令执行程序到断电地址后,显示断点地址处的指令和寄存器的内容。 注意:断点地址应为一条指令在内存单元中的首字节地址。

★ H命令

格式:H[数值][数值]

功能:分别显示两个十六进制数相加的和以及第一个数减去第二个数的差。 参数说明:[数值]表示从 0 到 FFFFh 范围内的任何十六进制数字。 H命令使用

说明: Debug 首先将指定的两个参数相加,然后用第一个参数中减去第二个参数。并将计算的结果以4位16进制形式显示在下一行中:先显示计算和,然后显示计算差。 从键盘键入下面的命令: H 12 34

执行后,将在下一行显示: 0046FFDE

★ I命令 格式:I[端口地址]

功能:从指定的端口输入并显示(用十六进制)指定端口中的数据(字节)。 参数说明:[端口地址]指定要读取数据的端口地址。 I命令使用

说明:[端口地址]的分为应在0~FFFFH的范围内。 从键盘键入下面的命令:

I FFFF

执行后,将在下一行显示(假定端口0FFFFH中的内容为FFH): FF

★ L命令

格式:L[地址][盘号:][逻辑扇区号][扇区数]

功能:将一个文件或盘的绝对扇区装入存储器。

参数说明:[地址] 指定要在其中加载文件或扇区内容的内存空间的起始位置。[盘号:]

- 6 -

计算机组成原理与汇编语言实验指导书

指定包含读取指定扇区的磁盘的驱动器。该值是数值型,表示为:0 = A, 1 = B, 2 = C,?? 等。[逻辑扇区号] 指定要加载其内容的第一个扇区的十六进制数。 [扇区数] 指定要加载其内容的连续扇区的十六进制数。

L命令使用

说明: 单个L命令能够装入的最大扇区数是 80H,其中盘号 0,1,2,3……分别代表 A,B,C,??;若出现读盘错,显示错误信息。只有加载特定扇区的内容而不是加载 debug 命令行或最近的 Debug n(名称)命令中指定的文件时,才能使用 drive、start 和 number 参数。 L命令使用情况,可以分为下列几种情况: 1、使用不带参数的L命令

当使用不带参数的L 命令时,在 debug 命令行上指定的文件将加载到从地址 CS:100 开始内存中。Debug 同时将 BX 和 CX 寄存器设置为加载的字节数(CX表示低位,BX表示高位)。如果不在 debug 命令行指定文件,所装入的文件将是最近使用 n 命令经常指定的文件。

2、使用带有 address 参数的L命令

使用带 address 参数的L命令,Debug 将从内存位置 address 开始加载文件或指定扇区的内容。???

3、使用带全部参数的L命令

使用带所有参数的L命令,Debug 将加载指定磁盘扇区的内容而不是加载文件。加载特定扇区的内容,指定范围内的每个扇区均从 drive 读取。Debug 从 start 开始加载,直到在 number 中指定的扇区数中的内容全部被加载。 从键盘键入如下命令(假定文件abc.exe存在当前目录之下): N wangxiao.exe L

则把文件wangxiao.exe加载到CS:100开始的内存单元中。 若要将文件加载到1000:100开始内存单元中,键入:

L 1000:100

补充说明:L如果被调试程序扩展名是EXE,则需要重新定位,CS:IP根据被调试程序确定。通常,我们在主程序第一条指令是程序开始执行的位置,所以IP=0。

★ M命令

格式:M[地址范围][起始地址]

功能:把地址范围内的存储器单元的内容移到起始地址的指定地址中

参数说明:[地址范围] 指定要复制内容的内存区域的起始和结束地址,或起始地址和长度。[起始地址] 指定要将 range 内容复制到该位置的起始地址。

- 7 -

计算机组成原理与汇编语言实验指导书

M命令使用

说明:传送期间,源数据区和目标数据区可以部分重叠;传送后源区数据保持不变,目的区的数据将使用源区中的数据进行改写。 从键盘键入如下命令: -M CS:100 150 DS:500

执行该指令,Debug 首先将 CS:150 地址中的内容复制到地址 DS:550 中,然后将 CS:14F 地址中的内容复制到 CS:54F 中,如此操作直至将 CS:100 地址中的内容复制到地址 DS:500 中。

★ N命令

格式:N[盘号: ] [路径] [文件名] [扩展名]

功能:定义DEBUG使用的文件。

参数说明:[盘号: ] [路径] [文件名] [扩展名]指定文件所在的盘符,路径,文件名和扩展名。 N命令使用

说明: 可同时定义两个操作文件,并将形成的文件控制块相应的设置在内存 CS:5C和CS:6C上,供以后的L和W命令操作之用。 N命令的两个用途:

1、 可以使用N为后面的L(加载)或W(写入)命令指定所使用的文件。 2、 可以使用N命令指定正在被调试文件的命令行参数和开关。 如下所示:

假定在Debug中正在调试的程序wangxiao.com。若想为wangxiao.com指定两个参数并运行此程序。可以键入如下的命令: -N param1,param2 -G

从键盘键入如下的命令序列: -N wang.exe -L

-N xiao1.dat xiao2.dat -G

则第一个 N 命令将wang.exe 指定为后接的 L(加载)命令的文件,该命令将wang.exe 加载到内存。第二个N 命令指定wang.exe 将使用的参数。最后G命令将使用参数xiao1.dat和xiao2.dat运行wang.exe文件。此功能如同在 DOS命令行中键入了wang.exe xiao1.dat xiao2.dat。

注意:不要在N命令的第二种形式后再次使用L命令,否则N命令的第二种形式中指定的参数将不起作用。此外,如果在N命令的第二种形式后使用W(写入)命令,将使用名称 xiao2.dat保存正在调试的文件 wang.exe。 每次使用N命令,都将影响下面的四个内存区域: 内存位置

内容

- 8 -

计算机组成原理与汇编语言实验指导书

CS:5C CS:6C CS:80 CS:81

文件 1 的文件控制数据块 (FCB)

文件 2 的文件控制数据块 (FCB) N命令行的长度(以字符表示) N命令行字符的开头

N命令指定的第一个文件名被放在 CS:5C 的 FCB 中。如果指定第二个文件名,第二个文件文将放置到 CS:6C 的 FCB 中。N命令行上键入的字符数(除第一个字符N之外)存储在位置 CS:80。N命令行上的实际字符(再次,除了字母N之外)存储在以 CS:81 开头的位置。

★ O命令

格式:O[端口地址] [数据]

功能:发送数据(字节)到指定的输出端口。

参数说明:[端口地址]指定要写入数据的端口地址,[数据] 指定要向[端口地址] 中写入的字节值。 O 命令使用

说明:[端口地址]的分为应在0~FFFFH的范围内,[数据]应为字节数据。 从键盘键入下面的命令;

-O 73 FF

指令执行后,端口73H中的数据为0FFH。

★ P命令

格式:P[=地址] [数据]

功能:执行一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在下一条指令上。

参数说明:[=地址] 指定第一 条要执行指令的位置。如果不指定地址,则默认地址是在 CS:IP 寄存器中指定的当前地址,[数据] 指定在将控制返回给 Debug 之前要执行的指令数,默认值为 1。

P命令使用

说明: 使用P命令执行程序,该程序不间断运行,直到循环、重复字符串指令、软件中断或者完成了指定地址的子例程为止,或者直到执行了指定数量的机器指令为止。若被执行的指令不是循环、重复的字符串指令、软件中断或子程序,则P 命令与T(跟踪)命令的作用相同。

考虑程序在地址 CS:168F处有一个 call 指令。要运行完call目标位置的子程序然后将控制返回Debug,从键盘键入下面命令: P=168F

执行指令后,按如下格式显示结果:

AX=0000 BX=0000 CX=0000 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=0AF6 ES=0AF6 SS=0AF6 CS=0AF6 IP=1692 NV UP EI PL NZ AC PO NC 0AF6:1692 BA2601 MOV AX,0126

- 9 -


组成与汇编实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在财务报表审计中应如何进行风险评估

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: