Chinaunix首页 | 论坛 | 博客
  • 博客访问: 570350
  • 博文数量: 65
  • 博客积分: 2844
  • 博客等级: 上尉
  • 技术积分: 996
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-02 12:01
文章分类

全部博文(65)

文章存档

2014年(7)

2012年(20)

2011年(35)

2010年(3)

分类: 嵌入式

2012-05-20 14:56:57

   5 XL-Form类指令

XL-Form类指令支持条件转移指令,与B-Form类条件转移不同,此类指令使用LR寄存器或者CTR寄存器,而不是使用16位立即数进行跳转,因此可以用来实现32位长指令。XL-Form类条件转移指令格式如下:

 

0~5

6~10

11~15

16~18

19~20

21~30

31

OPCD

BO

BI

~

BH

16或者528

LK

 

支持的指令有以下几种:

l  bclr           BOBIBH   // LK=0,第21~30字段位16

l  bclrl          BOBIBH   // LK=1,第21~30字段位16

l  bcctr         BOBIBH   // LK=0,第21~30字段位528

l  bcctrl        BOBIBH   // LK=1,第21~30字段位528

XL-Form类指令的BOBI字段与B-Form类指令中的BOBI的定义相同,LK位为1时表示跳转指令执行后,LR寄存器指向下一条指令的地址(当前指令地址+4),BH字段用于静态分支预测,E500内核的XL-Form类指令不支持这一字段。

当条件满足时,bclrbclrl指令使用LR寄存器进行长跳转,而bcctrbcctrl指令使用CTR寄存器进行长跳转。

阅读(1580) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~