在以下编译器输出中:
a:
.long 4
b:
.byte 99
x:
.zero 4
c:
.byte 12
f:
.zero 4
什么是.zero
指令是什么意思?好像是唯一一个没被收录的gas directives https://ftp.gnu.org/old-gnu/Manuals/gas-2.9.1/html_chapter/as_7.html#SEC137。光看上面的内容,long
是四个字节,.byte
是一个字节,我猜.zero
表示四字节为零(或指令后面的任何数字)。那是对的吗?
如果是这样,为什么不这样做.long 0
。这是否会将其放在不同的部分或其他内容中?
不,它不会将其放在不同的部分中,它只是将其内联到您当前正在创建的任何部分中。
就其关系而言.long
,后者实际上取决于架构。它可能是不同的大小和/或字节顺序。请注意,字节顺序对于零值可能并不重要,但大小可能会重要。
The .zero
另一方面,指令是一个别名.skip
(and .space
on some架构),并生成请求的字节数不管建筑学。
另请记住,as的别名.skip
,您还可以提供value您想用于字节(默认为零),但执行以下操作没有什么意义:
.zero 4, 32
生成四个空格:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)