本帖最后由 autopccopy 于 2011-10-3 23:39 编辑
在MCU123.COM 可以下载测试 :
http://www.mcu123.com/news/Soft/embsof/uc/201109/539.html
========================================
C51编译器 V9.05版新改进之处:(What's New in C51 Version 9.05)
[C51编译器]
改进:以1位来访问位字段成员。编译器通过定义bdata内存类型来使用位指令访问位字段成员对象。
这也同时随外部变量的属性定义结构。
([C51 Compiler]
Improved: access to bit-field members with size 1 bit.
The compiler uses bit instructions to access such bit-field members objects that are defined with the bdata memory type.
This is now extended also to structs that are defined with the extern attribute. )
更正:公共子表达式消除了当数组指针已使用时的不正确值。例如:
(Corrected: Common sub-expression elimination can deliver incorrect values when array pointers are used. Example:)
int foo (unsigned char dat[])
{
int len1, len2, ofs;
ofs = 5;
len1 = dat[ofs];
if(len1 > 0x10) return -1;
ofs += len1 + 1; // 修改 'ofs'
len2 = dat[ofs]; // 'dat[ofs]' 不重装, 'len1'的替代值已使用
return len2;
}
修正:指针的算术运算和转换长型时的错误代码。例如:
(Corrected: Wrong code with pointer arithmetic and conversions to long. Example: )
unsigned char *p;
unsigned int code a1[10];
unsigned char xdata a2[500;
void foo (void)
{
unsigned long r1 = (unsigned long)(p - (a2 + a1[0])); // 错误
unsigned long r2 = (unsigned long)(p - (unsigned long)(a2 + a1[0])); // 解决
}
修正:拒绝指针运算转化为“无符号长型”。例如:
(Corrected: Pointer arithmetic with conversion to 'unsigned long' rejected. Example: )
unsigned char xdata *ptr1;
unsigned char xdata *ptr2;
unsigned long i4;
void foo (void)
{
i4 = (ptr1 - ptr2); // 指针转换拒绝,而不是发出错误
}
[LX51 Linker/Locater]
Corrected: When Linker Code Packing is used with a banking application,segments or the content of segments may get lost.
This problem was introduced with C51 Version 9.03.
[LX51链接/定位器]
([LX51 Linker/Locater])
修正:当链接器使用同一个应用程序库进行代码封装时,段或段的内容可能会丢失。
这个问题出现在C51的9.03版。
[新支持的器件]
([New Supported Devices])
CoreRiver公司的: ADCore200, ADCore210, ADCore220, AmpCore100, ChargerCore2.0, GC230, GC400, GC410, GC81L541A0, GC81L581A0, GC81L591A0, GC89L541A0, GC89L581A0, GC89L591A0, 和HallCore110. Nordic nRF8200.
新唐(Nuvoton)公司的: N78E055A, N78E059A, N78E366A, N78E517A, N79E234, N79E235, N79E342, N79E352, N79E822, N79E823, N79E824, N79E825, N79E843, N79E844, N79E845, N79E853, N79E854, N79E855, N79E875, W78E051D, W78E052D, W78E054D, W78E058D, 和 W78E516D.
芯科(Silabs)公司的:C8051T620, C8051T621, C8051T622, C8051T623, C8051T320, C8051T321, C8051T322, C8051T323, C8051T326, C8051T327, C8051F380, C8051F381, C8051F382, C8051F383, C8051F384, C8051F385, C8051F386, and C8051F387.
[µVision4]
这个C51发行附带了µVision V4.22.00版. |