首页

2010年5月29日星期六

ASM-Debug练习

什么是Debug?
Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它可以查看CPU各种寄存器中的内容、内存情况和在机器码级跟踪 程序的运行。
Debug常用命令
用Debug的R命令查看、改变CPU寄存器的内容
用Debug的D命令查看内存中的内容
用Debug的E命令改写内存中的内容
用Debug的U命令将内存中的机器指令翻译成汇编指令
用Debug的T命令执行一条机器指令
用Debug的A命令以汇编指令的格式在内存中写入一条机器指令
进入DOS或在WINDOWS下CMD直接DEBUG
-r查看寄存器的内容
改变寄存器的内容
-r ax修改AX寄存器的内容在:后面写入要修改为的值
-d查看内存中的内容
可以根据段地址加偏移地址指定查询。如-D 1000:9从1009开始显示直到1000:88,1000:0-1000:8的内容不显示。
-e用来改写内存中的内容 -e 1000:0 1 2 3 4 5 'a' 'b' 'c' 注意'a'字符修改后是ASCII的对应 修改后-d 1000:0 8查看的8位 从0开始直到第8的一个就不显示了。可以用f字母代替。修改内存的内容时可以用字符串,不过写进内存的是字符的对应ASCII的值,从字符串的第一个字母 开始。
-u查看内存中机器码的含义,用T来执行内存中的机器码
-e 1000:0 b8 01 00 b9 02 00 01 c8
-u 1000:0 对应的汇编 mov ax,0001 mov cx,0002 add ax,cx add[bx+si],al ........各自的机器内存上的东西不一样后面的结果也有点变化。
-a以汇编指令的形式在内存中写入机器指令
mov ax,1
mov bx,2
mov cx,3
add ax,bx
add ax,cx
add ax,ax

没有评论:

发表评论