gpt4 book ai didi

assembly - GNU gas 中的 .zero 是什么?

转载 作者:行者123 更新时间:2023-12-04 00:52:19 25 4
gpt4 key购买 nike

在以下编译器输出中:

a:
.long 4
b:
.byte 99
x:
.zero 4
c:
.byte 12
f:
.zero 4

.zero 指令是什么意思?它似乎是唯一未在 gas directives 中列出的.单从上面看,long是四个字节,.byte是一个字节,我猜.zero的意思是零-四字节(或指令后面的任何数字)。对吗?

如果是这样,为什么不直接使用 .long 0。这是否将其放在不同的部分或其他地方?

最佳答案

不,它不会将其放在不同的部分中,它只是将其内嵌在您当前正在创建的任何部分中。

就其与.long的关系而言,后者实际上取决于架构。它可能是不同的大小和/或字节序。请注意,字节序对于零值可能无关紧要,但大小可能。

另一方面,.zero 指令是 .skip 的别名(以及 some< 上的 .space/em> 架构),并生成请求的字节数无论架构。​​

另外请记住,作为 .skip 的别名,您还可以提供您希望用于字节的 (它默认为零),但执行以下操作毫无意义:

.zero 4, 32

生成四个空格:-)

关于assembly - GNU gas 中的 .zero 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65641034/

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