vivi-bootloader 问题

ladyhunter   2009-11-19 17:08 楼主
head.s文件中有多处b 1b语句什么意思?如下
@ All LED on
        mov        r1, #GPIO_CTL_BASE
        add        r1, r1, #oGPIO_F
        ldr        r2,=0x55aa
        str        r2, [r1, #oGPIO_CON]
        mov        r2, #0xff
        str        r2, [r1, #oGPIO_UP]
        mov        r2, #0xe0
        str        r2, [r1, #oGPIO_DAT]
1:        b        1b

回复评论 (10)

跳转到1b处
点赞  2009-11-19 17:20
b 是跳转,lb是标号,你的程序 肯定在那有个 lb:-----后面是你的程序   好好查查汇编的指令吧
点赞  2009-11-20 08:58
引用: 引用 2 楼 cfanlwn 的回复:
b 是跳转,lb是标号,你的程序 肯定在那有个 lb:-----后面是你的程序? 好好查查汇编的指令吧

我知道是跳转,可是没有找到1b这个子程序,再说标号可以用数字开始吗?我知道51汇编不可以,arm的可以吗????
求看过vivi或路过的朋友解释一下,1b是做什么的?
点赞  2009-11-20 10:01
ARM可以用数字作为标号,用来表示局部编号 一般用ROUT定义的
点赞  2009-11-20 13:23
引用: 引用楼主 jiereliyi 的回复:
head.s文件中有多处b 1b语句什么意思?如下
@ All LED on
        mov        r1, #GPIO_CTL_BASE
        add        r1, r1, #oGPIO_F
        ldr        r2,=0x55aa
        str        r2, [r1, #oGPIO_CON]
        mov        r2, #0xff
        str        r2, [r1, #oGPIO_UP]
        mov        r2, #0xe0
        str        r2, [r1, #oGPIO_DAT]
1:        b        1b

b 1b代表跳到上个标号 1:  。
所以你的那个可能是个死循环。
点赞  2009-11-20 21:25
引用: 引用 5 楼 laiguo 的回复:
引用楼主 jiereliyi 的回复:
b 1b代表跳到上个标号 1:? 。
所以你的那个可能是个死循环。

有理,不过你是怎么知道的?从什么地方看到的?
点赞  2009-11-23 08:44
1B 不是叫有个1B的标志

而是,跳回到1处。。。。1F向前跳到1;1B向后跳到1

1
nop
b 1b

nop
b 1f
nop
1
点赞  2009-11-23 16:39
谢谢,我要是想详细了解,从什么地方能得到资料
点赞  2009-11-24 15:22
引用: 引用 8 楼 jiereliyi 的回复:
谢谢,我要是想详细了解,从什么地方能得到资料


这个资料很多地方都有,你想要的话,我可以给你
点赞  2009-11-24 19:43
谢谢,nneverli@163.com 发我邮箱吧,再谢谢。
点赞  2009-11-25 08:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复