gpt4 book ai didi

assembly - x86 汇编语法检查

转载 作者:行者123 更新时间:2023-12-02 20:07:46 28 4
gpt4 key购买 nike

下周我们将进行 x86 汇编的考试,这段代码在语法检查中让我很困惑。

byte ptr、word ptr 等在 x86 汇编中意味着什么?

例如 NEG byte ptr [si]NEG word ptr [si] 我知道这两个在 x86 汇编中是有效的语法,但为什么 NEG byte ptr siNEG word ptr si 无效?

最佳答案

[si] 是内存操作数,即位于内存中 ds:si 指定地址处的一些数据。如果您只是说NEG [si],汇编器将无法判断您是要对内存中的字节取反,还是对字(或双字......)取反。

因此,您可以使用byte/word/dword ptr来消除不同可能的指令编码之间的歧义。例如,使用NEG byte ptr [si],您告诉汇编器您希望它生成机器代码序列,该序列将否定位于ds:si内存中的字节.

另一方面,

NEG si 直接在寄存器 si 上操作,而不是在内存上操作。由于 si 的大小已知(16 位),因此指定操作数的大小是没有意义的。

关于assembly - x86 汇编语法检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487513/

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