8086汇编 Debug -d命令注意事项

来源:互联网 发布:nodejs网页显示数据 编辑:程序博客网 时间:2024/05/14 06:39

在debug后必须接程序的完整名称 比如pro1.exe

然后 输入r 就可以查看当前 寄存器的情况,输入t就单步执行,需要注意的是 源码必须要有start标记 否则 t执行也不会 正确。

输入 d DS地址:偏移地址 就可以内存的数据了,需要注意的是 dw定义的是字型数据,一个字型数据占两个字节,分高位和低位 比如 ,0123H,就分01 高位,和 23低位。

在 -d命令 查询到的 数据就是  23 01 这样子的 。

附上上一篇文章的源码:(以及注释)

64.asm

assume cs:code,ds:data,ss:stack    ;数据段data segmentdw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987Hdata ends;栈段stack segmentdw 0,0,0,0,0,0,0,0stack ends;代码段开始;stack会被编译器编译成 栈段地址 需要把它负值到ss 还需要设置 sp偏移地址code segmentstart:mov ax,stack  mov ss,ax  mov sp,16  ;同理 设置data 与ds  mov ax,data  mov ds,ax  ;循环入栈  mov bx,0  mov cx,8s:push [bx]  add bx,2  loop s    ;循环出栈 把ds逆序  mov bx,0  mov cx,8s0:pop [bx] ;栈顶弹出 到 ds:[bx]里面   add bx,2   loop s0    mov ax,4c00h   int 21hcode endsend start

附上几个图片




t 单步执行继续调试,当出现,INT 21的时候 就执行完了,此时再去看 -d 就发现 数据段的 数据 通过 栈段 全部倒序了。


0 0
原创粉丝点击