gpt4 book ai didi

assembly - 什么时候可以在汇编语言中使用*?

转载 作者:行者123 更新时间:2023-12-02 21:31:00 25 4
gpt4 key购买 nike

使用此数据

.data
tableD DWORD 10h, 20h, 30h, 40h, 50h, 60h
Rowsize = ($ - tableD)
DWORD 60h,70h,80h,90h,0A0h
DWORD 0B0h,0C0h,0D0h,0E0h,0F0h

我可以使用

.code
mov eax,tableD[ebx + esi*TYPE tableD]

但我不能使用

mov eax,tableD[ebx*2 + esi*TYPE tableD]

但我可以使用

mov eax,tableD[ebx*2 + esi]

我不能在那里使用 2 个 * 吗?

我可以知道这些对象的术语吗?

最佳答案

x86 架构支持以下形式的四部分寻址模式:

base + index * scale + displacement

其中所有四个部分都可以不存在(如果不存在,scale1)。这意味着内存操作数中只能有一个缩放分量;所以是的,您只能使用一个 *

此外,缩放因子限制为 1、2、4 或 8;其他缩放因子无法编码。

关于assembly - 什么时候可以在汇编语言中使用*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44552628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com