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[256];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.
- [New Supported Devices]
- [Device Simulation]
- 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 |
网友评论