为什么使用操作数[ESI]的时候,要在DATA段中用OFFSET指定ESI偏移地址呢?而直接用MOV给ESI赋值不定义DATA段就提示违规呢?
昨天测试下,.data array byte 1,2,3 mov esi,offset array xor [esi],al就可以执行,而使用mov esi,00403000h, xor [esi],al程序就提示违规。后者地址对应的也是1,搞不懂为什么后面的用法不对?求解答。
------解决方案--------------------
我试了试,两种写法一样,都正常.