Linux-Kernel-Learning
Linux-Kernel-Learning copied to clipboard
.long .byte .ascii
data_items:
.long 3,67,34,222,45,75,54,34,44,33,22,11,66,0
.long指示声明一组数,每个数占32位,相当于C语言中的数组。这个数组开头定义了一个符号data_items,汇编器会把数组的首地址作为data_items符号所代表的地址,data_items类似于C语言中的数组名。data_items这个标号没有用.globl声明,因为它只在这个汇编程序内部使用,链接器不需要用到这个名字。除了.long之外,常用的数据声明还有:
- .byte,也是声明一组数,每个数占8位
- .ascii,例如.ascii "Hello world",声明11个数,取值为相应字符的ASCII码。注意,和C语言不同,这样声明的字符串末尾是没有'\0'字符的,如果需要以'\0'结尾可以声明为.ascii "Hello world\0"。
data_items数组的最后一个数是0,我们在一个循环中依次比较每个数,碰到0的时候让循环终止