( 7 ) space size , fill
这个指令保留 size 个 字节的空间,每个字节的值为 fill 。 size 和 fill 都是常量表达式。如果逗号和 fill 被省略,则假定 fill 为 0 ,例如在 arch/i386/bootl/setup.S 中有一句:
.space 1024
表示保留 1024 字节的空间,并且每个字节的值为 0 。
( 8 ) .word expressions
这个表达式表示任意一节中的一个或多个表达式(用逗号分开),表达式的值占两个字节,例如:
gdt_descr:
.word GDT_ENTRIES*8-1
表示变量 gdt_descr 的置为 GDT_ENTRIES*8-1
( 9 ) .long expressions
这与 .word 类似
( 10 ) .org new-lc , fill
把当前节的位置计数器提前到 new-lc ( new location counter )。 new-lc 或者是一个常量表达式,或者是一个与当前子节处于 同一节的表达式。也就是说,你不能用 .org 横跨节:如果 new-lc 是个错误的值,则 .org 被忽略。 .org 只能增加位置计数器的值,或者让其保持不变;但绝不能用 .org 来让位置计数器倒退。
注意,位置计数器的起始值 是相对于一个节的开始的,而不是子节的开始。当位置 计数器被提升后,中间位置的字节被填充值 fill (这也是一个常量表达式)。如果逗号和 fill 都省略,则 fill 的缺省值为 0 。
例如: .org 0x2000
ENTRY( pg0)
表示把位置计数器置为 0x2000 ,这个位置存放的就是临时页表 pg0 。