在Visual Studio中,我写了:
mov eax, [edx][ebx][ecx][edi]
但是它可以成功编译。
为什么它不是无效的有效地址?
最近版本的MASM似乎存在一个错误。
以以下文件为例:
.586
_TEXT SEGMENT USE32
mov eax, [edx][ebx][ecx][edi]
_TEXT ENDS
END
t213a.asm(4) : error A2030: multiple index registers not allowed
使用MASM 8.00.50727.42或更高版本,不会出现错误,该语句的汇编结果为:
00000000: 8B 04 0F mov eax,dword ptr [edi+ecx]
[edx][ebx][ecx][edi]
不是有效的寻址模式。你使用的MASM版本存在一个错误,它接受了这个错误,而应该将其拒绝为错误。
mov eax, [edx][ebx][ecx][edi]
做什么? - user824425