[QUOTE=bluesea;299755]mov ax, word ptr ds: [dwAddress]
mov dx, word ptr ds: [ax]
mov dwMyData, dx
在编译的时候会提示
“ax”: 寄存器必须为“第二操作数”中的基/索引
上面这段代码该如何改写呢?[/QUOTE]
在16位处理器中,寄存器间接寻址中只能使用基址(Base)寄存器BX、BP与变址(Index)寄存器SI、DI,而在32位处理器中则可使用除ESP之外的所有通用寄存器。
另外,关于error C2403: 'ax' : register must be base/index in 'second operand'这句话应该翻译成:第二个操作数中的寄存器必须为基址或变址寄存器。