汇编:Debug的常用命令
<p>Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。</p><p><img alt="Debug常用命令" src="https://img.jbzj.com/file_images/article/202308/2023080118554628.png" /></p>
<p>1、Debug的常用功能</p>
<blockquote><p>R命令:查看、改变CPU寄存器的内容;D命令:查看内存中的内容;E命令:改写内存中的内容:U命令:将内存中的机器指令翻译成汇编指令:T命令:执行一条机器指令;A命令:以汇编指令的格式在内存中写入一条机器指令。Q命令:退出debugP命令:类似于step over(“t”命令类似于step into),可用于跳过loop循环G命令:跳过前面的代码,停留到指定的代码位置</p></blockquote>
<p>2、R命令</p>
<p>输入<code>r</code>:查看所有寄存器的值输入<code>r 寄存器名称</code>:修改寄存器的值输入<code>r ax</code>:将ax寄存器的值改为0100H</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554629.png" /></p>
<p>3、D命令</p>
<p>输入<code>d</code>:可以查看内存中的内容输入<code>d 段地址:偏移地址</code>:查看特定位置的内存数据输入<code>d 段地址:起始偏移地址 结尾偏移地址</code>:查看特定位置和特定范围的内存数据输入<code>d 偏移地址</code>、 <code>d 起始偏移地址 结尾偏移地址</code>:会将DS的内容作为段地址</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554630.png" /></p>
<p>右边是每个内存单元中的数据对应的可显示的ASCII码字符,如果没有对应的ASCII字符,就显示“.”。</p>
<p>4、E命令</p>
<p>1、输入<code>e 段地址:偏移地址 数据串</code>修改特定位置的内存数据:</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554731.png" /></p>
<p>2、输入<code>e 段地址:偏移地址</code>后按Enter也可以修改特定位置的内存数据,数据之间用空格隔开:</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554732.png" /></p>
<p>5、U命令</p>
<p>输入<code>u</code>、<code>u 段地址:偏移地址</code>可以将内存中的内容翻译为对应的汇编指令:</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554733.png" /></p>
<p>由3部分组成</p>
<blockquote><p>1、最左边一列:是指令的地址<code>段地址:偏移地址</code>2、中间那一列:是指令对应的机器指令3、最右边一列:是汇编指令</p></blockquote>
<p>6、A命令</p>
<p>输入<code>a</code>、a 段地址:偏移地址<code>在这里插入代码片</code>可以从某位置开始写入汇编指令:</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554734.png" /></p>
<p>应用拓展:</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554735.png" /></p>
<p>(2)用目前所学过的汇编指令,计算2的4次方(最多使用4条指令)</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554736.png" /></p>
<p>(3)查看内存中的内容。PC机主板上的ROM中写有一个生产日期,在内存FFFOOH~FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554837.png" /></p>
<p>(4)向内存从 B8100H 开始的单元中填写数据,如:</p>
<div class="jb51code"><pre class="brush:xhtml;">-e B810:0000 01 01 02 02 03 03 04 04</pre></div>
<p>请读者先填写不同的数据,观察产生的现象;再改变填写的地址,观察产生的现象。</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202308/2023080118554838.png" /></p>
<p>8086 的显存地址空间是 A0000H~BFFFFH,其中 B8000H~BFFFFH 为 80*25 彩色字符模式显示缓冲区,当向这个地址空间写入数据时,这些数据会立即出现在显示器上</p>
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li>8086汇编开发环境搭建和Debug模式介绍(图文详解)</li><li>汇编语言Debug命令详解教程</li><li>汇编语言DOSBox及debug.exe在Windows64下环境搭建</li><li>汇编语言学习手把手的Debug教程</li><li>汇编语言 masm5与debug命令使用方法小结</li><li>汇编语言中debug命令使用小结</li></ul>
</div>
</div>
<!--endmain-->
頁:
[1]