第十一次进球 发表于 2014-8-29 13:38:34

关于汇编调试中的各个代码表示的含义。

本帖最后由 第十一次进球 于 2014-8-29 13:47 编辑


问题1:第二行的17B6:000A BF0800 这个是什么意思呢?
问题2:第十二行的17B6:0013 2E 代表什么意思 ?
问题3:第十三行的17B6:0014 8905 代表什么意思?
我的猜测,17B6我是不知道是什么意思了。17B6后面的应该是表示的IP,就是指令指针。
然后指令指针后面的那个猜测应该是操作码了,那个操作码有什么规律,还是随机分配的?
问题4:画线部分那个CS:0020 = F6EB 。这个是从哪来的,为什么是F6EB?

漩涡鸣人 发表于 2014-8-29 14:00:50

本帖最后由 漩涡鸣人 于 2014-8-29 14:09 编辑

解答1:17B6:000A是将要执行的指令地址,格式是CS:IP,BF0800是指令的机器码
解答2:第十二行的17B6:0013也是将执行的地址,2E是段寄存器改写前缀,用来改变默认寻址段寄存器的
解答3:十三行一样,8905是指令机器码,89代表mov mem, reg的指令格式
解答4:CS:0020代表的是您执行的指令中,内存空间中的值

第十一次进球 发表于 2014-8-29 14:21:38

漩涡鸣人 发表于 2014-8-29 14:00
解答1:17B6:000A是将要执行的指令地址,格式是CS:IP,BF0800是指令的机器码
解答2:第十二行的17B6:0013也 ...

为什么那个地方是F6EB

小靚同学Leon 发表于 2014-8-29 14:30:13

第十一次进球 发表于 2014-8-29 14:21
为什么那个地方是F6EB

说了那是机器码。
http://bbs.fishc.com/thread-51617-1-1.html

漩涡鸣人 发表于 2014-8-29 14:34:14

第十一次进球 发表于 2014-8-29 14:21
为什么那个地方是F6EB

F6EB是cs:中的数据,由于段寄存器是cs,所以说是机器码也没错

动若苍龙 发表于 2014-8-30 17:04:22

看不懂啊!!!!
页: [1]
查看完整版本: 关于汇编调试中的各个代码表示的含义。