Keil C51 V9.02a

2010年12月30日 13:46    发布者:micdot
keil C51的V9.02a版本出来了。主要修改的内容如下:
C51 Version 9.02 Release
[*][Cx51 Compiler]

[*]Improved: access to bit-field members with size 1 bit. The compiler uses bit instructions to access such bit-field members. When objects are defined with the bdata memory type, direct bit addressing is used. Example: struct bf { unsigned char b0:1; unsigned char b1:1; };struct bf       a;struct bf bdata b;  :if (a.b0 && b.b1)  b.b1 = 0;
[*]Corrected: multiplication long = int * int is potentially incorrect in Dallas 390 mode.
[*]Corrected: explicit cast to unsigned char was ignored with complex address arithmetic. Example: unsigned char far table;unsigned char i, v;  :v = table[(unsigned char)(16+i+20)];  // index now truncated to 8-bit
[*]Corrected: when using conditional operators (? :) in complex parameter lists, there is a potential for unbalanced PUSH / POP instructions. This typically creates a application program crash at the function call.
[
[*]Corrected: the function toint did not detect the value range 0x59 - 0x40 as invalid. Now the function returns -1 for these values.
[*]Corrected: timing of Multiplication Division Unit (MDU) in Evatronix R8051XC2 device is faster and now reflected in the C Library. The MDU timing for int/long multiplication and long division is adjusted.
[*]

[*]Infineon XC835MT-2F , XC836-2F , XC836M-1F , XC836M-2F , XC836MT-2F , and XC836T-2F devices.
[*]

[*]Corrected: SiLabs C8051F41x devices: SMBus simulation when using I2C generator.
[*]Corrected: SiLabs C8051F12x devices: automatic page switch for interrupts and timing of timer 2/3/4.
[*]Corrected: SiLabs C8051F12x devices: on I2C the receive of more than 256 bytes now generates a stop.
[*]Corrected: SiLabs C8051F36x devices: crossbar did not connect the right I/O signals under some circumstances.
[*]Corrected: Evatronix T8051: CPU instruction timing.
Keil C51 V9.02a 官方下载地址: http://www.keil.com/fid/q1vetmwy ... s/eval/c51v902a.exe

网友评论

echoas 2011年01月03日
好新的版本 我现在用的还是3呢