技术教程读书笔记iOS Developer

(重编)《汇编语言(第三版)》补充- 如何开启debug(win

2017-06-22  本文已影响370人  百草纪

2017年8月12号重编,添加实验记录。

个人总结

windows版

Mac版

补充

debug使用记录

Snip20170623_2.png
  • r 命令
  • r:查看 CPU 寄存器的状态
  • r ax:修改一个寄存器中的值
Snip20170623_6.png
  • d命令
  • d:查看Debug预设的地址处内容
  • d 段地址:偏移地址:查看从制定内存单元开始的 128 个内存单元的内容
  • 在上一个指令之后再使用d指令,将列出后续 128 个内存单元的内容
  • d 段地址:起始偏移地址 结尾偏移地址:查看制定范围的内容,亲测初始偏移地址是两位数会出错?
Snip20170623_11.png
  • e命令
  • e 起始地址 数据 数据 数据 ......:起始地址(段地址:偏移地址);改写内存中的内容。
  • e 段地址:偏移地址:然后光标停在.后面表示输入需要修改的内容;这里是按空格键结束该单元的修改;直接按空格键,表示不修改,直接结束该单元的修改;接着显示下一个内存单元的原始地址,并以同样的方式进行修改;按回车结束该操作。
  • 可以向内存中写入字符/字符串
Snip20170623_19.png
  • u 命令
  • u 初始地址:查看内存中机器码对应的汇编指令
Snip20170623_20.png
  • t 命令
  • t:执行CS:IP指向的指令,指令执行后,Debug会输出CPU中寄存器的状态。
Snip20170623_24.png
  • a 命令
  • a 初始地址:以汇编指令的形式在内存中写入机器码,直接回车,结束操作
  • a:从一个预设地址开始输入指令,直接回车,结束操作
Snip20170623_25.png
Snip20170623_26.png
Snip20170623_27.png
Snip20170623_31.png
假设CPU寻址上限为Max,地址总线的宽度为N,那么:Max=2^N,即cpu寻址范围为:0到2^N。 
例:地址总线为16位,侧Max=2^16=65535=0xFFFFh,     
即CPU得寻址范围为:0x0000h到0xFFFFh.
上一篇 下一篇

猜你喜欢

热点阅读