相关疑难解决方法(0)

引用内存位置的内容.(x86寻址模式)

我有一个内存位置,其中包含一个我想要与另一个角色进行比较的角色(并且它不在堆栈的顶部,所以我不能只是pop它).如何引用内存位置的内容以便进行比较?

基本上我如何在语法上做到这一点.

x86 assembly masm addressing-mode

4
推荐指数
1
解决办法
6687
查看次数

最初的 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 ×2

assembly ×2

x86 ×2

masm ×1

x86-16 ×1