+ -
当前位置:首页 → 问答吧 → mov cl,byte ptr[esi]出错不明原因,请教大家,谢谢!

mov cl,byte ptr[esi]出错不明原因,请教大家,谢谢!

时间:2011-08-26

来源:互联网

Assembly code

_p2num        proc    _p:POINT
        pushad
        xor    eax,eax
        mov    eax,_p.y
        mov    bl,19
        mul    bl
        
        lea    esi,Arry1
        add    eax,_p.x
        add    esi,eax
        mov    cl,byte ptr[esi]
        mov    p2num,cl
        popad
        ret

_p2num endp


我在 windows 错误报告中看到出错内存位置,然后用od查看,出错代码是mov cl,byte ptr[esi](cl 换成bl也不行),可能是什么原因 请大家帮下忙!

作者: crazylouter   发布时间: 2011-08-26

那就在这个指令上下个断点,运行下程序,会在这个指令上停下来,看看 esi 是什么内容,指向到哪里。如果确系该指令有问题,那就是 esi 错了,再向前看看,在计算 esi 时,哪个步骤出的问题。

作者: zara   发布时间: 2011-08-26

也许esi位置出错了
读了不应该读的地方

作者: WJN92   发布时间: 2011-08-26