学习汇编语言,用debug编程是必不可少的;这篇文章记录,R命令、D命令、E命令、U命令、T命令和A命令的使用。
安装完DosBox后,debug命令,开始使用。
R命令:查看、改变寄存器d的内容
查看寄存器的内容
目前学习了AX,BX,CX,DX,CS,IP这6个寄存器,现在查看CPU中各个寄存器中的内容。
在debug模式下,-r
即可查看。
上图的CS:IP指向的地址为CPU要读取和执行的指令。
修改寄存器的内容
修改寄存器格式如下:”
r 寄存器名称
想修改ax中的值,只需要“”r ax“”,将出现“”:“”,后面写要写入寄存器的内容。
修改完成后,继续-r即可查看修改后的ax中的值。再次修改CP:IP的值,如下图所示。
D命令:查看内存中的内容
比如,想查看内存10000H处的内容,只需要d 段地址:偏移地址
;
D指令需要注意的地方如下:
输出128字节的内容
从指定位置开始,输出128字节的内容。
输出的内容由三部分组成
左边的是每行的起始地址;
中间是内存单元的内容;
右边是每个内存单元对应的ASCII码字符,69对应i,76对应v,65对应e等;显示不出来的就用**.**表示。
E命令:改写内存中的内容
比如要将1000:0-1000:9单元中内容修改为0,1,。。。9,方法如下:
先用-e修改内存中的内容,再用-d修改内存中的内容。
也可以修改制定内存地址的内容,比如修改1000:10位置的内容,如下:
向内存中写入字符。
向内存中写入字符串。
可见,引号在内存中并没有显示。
U命令:将内存单元中的内容翻译为:汇编指令
如查看上面的1000:10单元中,对应的汇编指令,如下图所示。
-T指令,单步执行
-a以汇编指令的方式,在内存中写入机器指令
总结
查看修改CPU中寄存器中内容:R指令’
查看内存中的内容:D指令
修改内存中的内容:E指令
将内存中内容修改为机器指令对应的汇编指令:U命令
执行CS:ip的内容:T命令
以汇编形式向内存中写入指令:A指令。