asm中两个不同变量声明之间的区别

Difference between two different variable declarations in asm

以下gas程序集有什么区别?

x: .long 500

并且:

x = 500

两者可以互换使用,如果不能,为什么一个比另一个更受欢迎?

它们不可互换。第一个:

    x:    .long 500

在内存中创建一个 4 字节 space 并用给定值初始化。标签 x 表示该内存位置的地址。

第二个:

    x = 500

不创建任何内存。它将符号 x 设置为值 500,而不是地址。