读书人

为什么执行到mov [eax].a,[ebp+$14]时

发布时间: 2012-02-07 17:45:37 作者: rapoo

为什么执行到mov [eax].a,[ebp+$14]时会报出operand size mismatch的错误?
而用
mov edx,[ebp+$14]
mov [eax].a,edx
就不会报错?
其中类成员a是integer型的。

[解决办法]
mov [eax].a,[ebp+$14]

2个操作数中,必须有一个是寄存器,而这个语句2个都是内存单元,所以错误

[解决办法]
mov edx,[ebp+$14]
mov [eax].a,edx

这2个语句中,都有寄存器edx,所以正确

读书人网 >.NET

热点推荐