1.1.2. _start

_start1:	b       reset
        

1

_start后面加上一个冒号’:’,表示其是一个标号Label,类似于C语言goto后面的标号。

而同时,_start的值,也就是这个代码的位置了,此处即为代码的最开始,相对的0的位置。

而此处最开始的相对的0位置,在程序开始运行的时候,如果是从NorFlash启动,那么其地址是0,

_stat=0

如果是重新relocate代码之后,就是我们定义的值了,即,在

u-boot-1.1.6_20100601\opt\EmbedSky\u-boot-1.1.6\board\EmbedSky\config.mk

中的:

TEXT_BASE = 0x33D00000

表示是代码段的基地址,即

_start=TEXT_BASE=0x33D00000

关于标号的语法解释:

http://sourceware.org/binutils/docs-2.20/as/Labels.html#Labels

A label is written as a symbol immediately followed by a colon `:'. The symbol then represents the current value of the active location counter, and is, for example, a suitable instruction operand. You are warned if you use the same symbol to represent two different locations: the first definition overrides any other definitions.

而_start标号后面的:

b       reset

就是跳转到对应的标号为reset的位置。