小编Wil*_*mas的帖子

最初的 16 位 x86 中是否有过 8 位内存寻址?

在实模式和 32 位保护模式下,16 位寻址用于通过 ModR/M 字节来引用存储器。此寻址仅在使用旧前缀的 i386 指令中受支持,在 x86-64 指令中完全不受支持。

然而,ModR/M 字节也被 8 位特定操作码使用,这让我怀疑原始16 位 x86 指令集中是否存在 8 位寻址。尽管 8 位地址非常有限,但完全可以使用不同的操作码以与 16 位指令相同的方式对此类指令进行编码。

例如,代替

add (bx, si), ax
Run Code Online (Sandbox Code Playgroud)

你会有

add (bl, dh), al
Run Code Online (Sandbox Code Playgroud)

很难找到任何 i386 之前的文档,所以我一无所知。这曾经被支持过吗?

x86 assembly addressing-mode x86-16

3
推荐指数
1
解决办法
209
查看次数

标签 统计

addressing-mode ×1

assembly ×1

x86 ×1

x86-16 ×1