ZHCUAV7Z september 1995 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
在 .bss 段中保留空间
.bss symbol, size in bytes[, alignment]
.bss 指令在 .bss 段中为变量保留空间。该指令通常用于在 RAM 中分配空间。
该指令类似于 .usect 指令(参阅 .usect 主题);两者都只是为数据保留空间,而该空间没有内容。但是,.usect 定义了可以放置在存储器中任何位置的其他段,这些段独立于 .bss 段。
有关段的更多信息,请参阅Chapter12。
在本例中,.bss 指令为两个变量 TEMP 和 ARRAY 分配空间。符号 TEMP 指向四个字节的未初始化空间(在 .bss SPC = 0 处)。符号 ARRAY 指向 100 个字节的未初始化空间(在 .bss SPC = 04h 处)。使用 .bss 指令声明的符号可按与其他符号相同的方式引用,也可以在外部声明。
1 ***********************************************
2 ** 开始汇编到 .text 段。**
3 ***********************************************
4 00000000 .text
5 00000000 E3A00000 MOV R0, #0
6
7 ***********************************************
8 ** 在 .bss 段中为 TEMP 分配 4 个字节。 **
9 ***********************************************
10 00000000 Var_1: .bss TEMP, 4
11
12 ***********************************************
13 ** 仍处于 .text 段中。 **
14 ***********************************************
15 00000004 E2801056 ADD R1, R0, #56h
16 00000008 E0020091 MUL R2, R1, R0
17
18 ***********************************************
19 ** 在 .bss 段中为名为 ARRAY 的符号分配 100 个字节。 **
20 ** **
21 ***********************************************
22 00000004 .bss ARRAY, 100, 4
23
24 ***********************************************
25 ** 将更多代码汇编到 .text 段。 **
26 ***********************************************
27 0000000c E1A0F00E MOV PC, LR
28
29 ***********************************************
30 ** 声明外部 .bss 符号。 **
31 ***********************************************
32 .global ARRAY, TEMP
33 .end