3989|5

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ARM 中的分支指令 B 的问题 [复制链接]

B  为什么限制在当前指令的正负32MB范围内   还有  就是 ARM 指令为字对齐,最低2位地址固定为0 是什么意思?
我看了一下B 的指令编码格式   但是不懂  我总以为范围应是  16MB   
  本人菜鸟  
  若遇高人指点   不胜感激!
此帖出自ARM技术论坛

最新回复

谢谢各位了!  详情 回复 发表于 2010-6-5 05:43
点赞 关注
 

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
ARM的指令都是32位的,对Branch指令来说,指令编码占用了6位,因此指令里面保存地址就只剩26位了,所以有正负32MB的限制。
此帖出自ARM技术论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不好意思,说错了,Branch指令用了8位来进行指令编码,所以用来表示地址范围的就只剩下24位了,因为目标地址的低2位始终为0,所以可以表示26位的地址,也就是正负32MB。

BTY,为什么我不能编辑自己的帖子?
此帖出自ARM技术论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
“最低2位地址固定为0”的意思是指令地址的最低nibble只能是0,4,8,C。
此帖出自ARM技术论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(初级)

5
 
正负32MB范围内是这样的:
B指令是立即跳转到目标地址,从那里继续执行
B LABLE
存储在指令中的是相对当前PC值的一个偏移量不是绝对地址.
它是汇编时计算的由24位有符号数,左移两位后有符号数扩展
为26位表示有效偏移为26位(前后32MB的地址空间)
此帖出自ARM技术论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢各位了!
此帖出自ARM技术论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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