4238|8

557

帖子

0

TA的资源

裸片初长成(初级)

楼主
 

请教这里的“b”的意思 [复制链接]

又来麻烦大家了。
学习中,阅读head.S (vivi里的)文件,有这样一个重复使用达14次之多的语句:

1:            b         1b                 @ infinite loop

我这样理解这个语句的意思:无条件跳转到原标号1:。于是进入一个无限循环--infinite loop。

我想请教的问题是:

Q1、 上面的理解对不对?
Q2、 b  1b  中,1后面的那个b,表示什么?【搜寻了两天了,没找到答案】,和标号1:多处出现(按理说多次出现同一标号是不允许的)有什么关系。

谢谢!

[ 本帖最后由 xiaoxif 于 2009-12-2 16:01 编辑 ]

最新回复

学习了。我只会c,arm  详情 回复 发表于 2013-9-11 13:03
点赞 关注
个人签名为什么总用3/4号仿宋? 答:大点清楚‘,仿宋是工程图的标准字体。

回复
举报

2131

帖子

0

TA的资源

至上芯片

沙发
 
这个意思是无限循环。。
1: b 1b
1:是标号
b 是跳转
1b:就是1,b表示二进制

赞赏

1

查看全部赞赏

 
个人签名处处留心皆学问!
 

回复

1668

帖子

0

TA的资源

裸片初长成(初级)

板凳
 
原帖由 daicheng 于 2009-12-2 16:42 发表
这个意思是无限循环。。
1: b 1b
1:是标号
b 是跳转
1b:就是1,b表示二进制

补充下,b代表branch,在RISC处理器中branch是条件跳转
 
 
 

回复

2400

帖子

0

TA的资源

裸片初长成(高级)

4
 

条件跳转

关注 啥条件?跳转去向?
 
 
 

回复

557

帖子

0

TA的资源

裸片初长成(初级)

5
 

谢谢二楼、三楼

感谢沙发、板凳上二位热心精炼的指点。
语法本身就是法条的规定,本无需多问为什么,我接受就是了。虽然总觉得这个写法与传统Assembly语言习惯写法相比,新鲜的有些别扭----有所偏离,心里老不踏实。因为:

ARM指令系统说明:B指令有两种常用格式和一个无操作数的特例:  


b      lebelxx    ;跳转到 lebelxx标号处
b      0x1234    ;跳转到绝对地址 0x1234处
b                ;不带操作数,表示跳转到本地址。

那么:既然用第三种表述【B  】就可以表示这种至本地址的跳转(实现上也就是PC数减 x 操作),那为什么非要加上1b,而且要配上 1:那样多次出现、而且首个字符为数字的“不规范”的“标号”?这是否是这个编译/汇编程序的特点,或者说是特定的语法要求,例如在一行里只有一个孤零零的B,容易出错?

一边想。一边写,一会就写了这么多,……可不敢再继续打扰各位了,原谅,如此钻角尖浪费大家的时间。
再次感谢各位!


[ 本帖最后由 xiaoxif 于 2009-12-2 21:38 编辑 ]
 
个人签名为什么总用3/4号仿宋? 答:大点清楚‘,仿宋是工程图的标准字体。
 
 

回复

2131

帖子

0

TA的资源

至上芯片

6
 

回复 5楼 xiaoxif 的帖子

楼主看的还挺详细啊,一般人只看关键部分,楼主精神值得我们学习!
 
个人签名处处留心皆学问!
 
 

回复

1668

帖子

0

TA的资源

裸片初长成(初级)

7
 
原帖由 xiaoxif 于 2009-12-2 21:22 发表
感谢沙发、板凳上二位热心精炼的指点。
语法本身就是法条的规定,本无需多问为什么,我接受就是了。虽然总觉得这个写法与传统Assembly语言习惯写法相比,新鲜的有些别扭----有所偏离,心里老不踏实。因为:

ARM指 ...

可以结合反汇编看看,源码中的这个地方会生成一条什么样的指令?
 
 
 

回复

143

帖子

0

TA的资源

纯净的硅(高级)

8
 
楼主很仔细,精神可嘉!!!
 
 
 

回复

994

帖子

3

TA的资源

一粒金砂(高级)

9
 
学习了。我只会c,arm
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表