1、进入Debug
2、基本命令详解
-r 查看、改变CPU寄存器的内容
-d 查看内存中的内容
-e 改写内存中的内容
命令格式:“e 起始地址 数据 数据 数据 。。。”
-u 查看指定地址段的汇编代码
-t 执行指定地址的汇编代码(首先修改 CS:IP 到所要执行的汇编代码的首地址)
-a 以汇编指令的形式在内存中写入机器指令
上图有一处错误,我们在用 -u 命令显示指定地址段的汇编代码时一定要把当前所在的地址置为汇编代码的首地址,不然机器会强制分段
实验(1):输入下图所示汇编代码,运行,查看对应寄存器的值及地址变化
一步步 -t 后的结果见下图:
实验(2):将下列三条指令写入从2000:0开始的内存单元中,利用这三条指令计算2 的 3次方
mov ax,1
add ax,ax
jmp 2000:0003
注解:jmp是跳转的意思,第一条指令占用3个字节,第二条指令的首地址为2000:0003,所以可以通过重复执行第二条指令来实现计算2 的 8 次方
本以为只用执行4次的,结果执行了6次,中间的两次地址跳转也算进去了,因为地址跳转实际上也是从内存中读取数据
原文地址:http://blog.csdn.net/qq_20480611/article/details/45849237