0

IEC 60880 规定:“应避免在单个机器指令中进行多次替换或多次索引”。但是,据我所知,在 x86 上,多重索引甚至是不可能的。地址始终是基数、索引和偏移量的组合。显然,有些事情我不明白。

关于 x86 的多重索引是什么?

为什么不好?

更新:也许这条规则根本不适用于 x86。仍然很高兴知道它适用于什么。任何对关于任何其他架构的多重索引的引用将不胜感激。

4

1 回答 1

1

一些 DSP 可能具有非常复杂的指令,这些指令同时执行多个操作。例如来自 TI 的 TMS320C55:

btst    #0Fh, *AR0+, TC1
:: mov *AR5+ << #16, AC3

这是一条并行指令,它在移动的同时进行位测试,并将两个数据指针递增作为操作的一部分。我想这可能是他们在“多重索引”中所说的。

在 x86 中,最接近的匹配可能是同时运行的“字符串移动”指令( movs) 。或者它可能是既访问堆栈又增加堆栈指针的东西。esiedipush dword ptr [esp+4]

我不知道他们所说的“替代品”是什么意思。也许检查他们是否在任何地方定义了这些术语。

于 2013-06-19T15:05:32.933 回答