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

全部博文(65)

文章存档

2014年(7)

2012年(20)

2011年(35)

2010年(3)

分类: 嵌入式

2012-05-20 15:21:06

E500内核的ABI中定义了E500内核中支持的数据类型;通用寄存器的使用规则;PowerPC栈帧结构;ELF文件的组成等一系列与编译器相关的内容。

PowerPC的编译器必须遵守ABI手册,并按照ABI的规定来产生目标代码。进行C语言与汇编语言混合编程的程序员必须掌握ABI

ABI规定E500内核的数据定义如下。

类型

ANSI C

大小

对界

整型数据

char

1B

8

signed char

unsigned char

1B

short

2B

16

signed short

unsigned short

2B

Int

4B

32

signed int

long int

signed long

enum

unsigned int

4B

unsigned long

long long

8B

64

signed long long

unsigned long long

指针类型

any *

4B

32

any *)()

浮点类型

float

4B

32

double

8B

64

long double

16B

128


E500内核不支持浮点运算,程序员可以使用定点运算模拟浮点运算,或者使用E500内核中的SPE部件实现浮点运算。双精度(double)和多精度(long double)浮点运算的速度较慢,占用的资源也比较多。因此一般来说,很少有处理器直接支持双精度和多精度浮点运算。

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