gpt4 book ai didi

assembly - NASM x86 16 位寻址模式

转载 作者:行者123 更新时间:2023-12-04 17:02:22 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Differences between general purpose registers in 8086: [bx] works, [cx] doesn't?

(3 个回答)


7 个月前关闭。




我无法指向一个地址并在我的情况下写入一个字节大小的变量。这给了我错误“错误:无效的有效地址”:

mov byte[AX], byte 0x0

经过一些跟踪和错误后,我测试了相同的但使用 EAX。这编译得很好:
mov byte[EAX], byte 0x0

我在这里缺少什么?

最佳答案

[AX]是无效的内存操作数规范。

The valid 16-bit ones are :

[constant]  
[BX]
[SI]
[DI]
[BX+constant]
[BP+constant]
[SI+constant]
[DI+constant]
[BX+SI]
[BX+DI]
[BP+SI]
[BP+DI]
[BX+SI+constant]
[BX+DI+constant]
[BP+SI+constant]
[BP+DI+constant]

[BP] 在形式上是无效的,但是很多汇编者会悄悄地将其转换为 [BP+0]。

有关内存操作数编码以及 ModR/M 和 SIB 字节,请参阅 CPU 手册。

关于assembly - NASM x86 16 位寻址模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12474010/

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