8051 Toolchain v6.0r1

RELEASE NOTE

SUMMARY

This release note describes the changes and new features of all TASKING 8051 products with respect to v5.0r2. The main reasons for this release are:


EDE

The 8051 Embedded Development Environment (EDE) has been significantly renewed and extended with the following new features:

Projects & Project Spaces

All your projects can now be grouped together in Project Spaces. The `8051 Examples' project space is the default Project Space containing all 8051 examples of the product you have installed. If you want to open an other than the default example (project) within this Project Space, just select one, click on the right mouse button and select the `Set as Current Project' menu entry. The EDE make and rebuild commands which you use to build or rebuild your project only work on the current project. Adding files to and removing files from a project has become easier than ever. Just click with your right mouse button on a source file and the pop-up dialog contains an entry to add this file to the current project. Click with your right mouse button on a file in the project window and the pop-dialog contains an entry to remove this file from the project. You can create your own project spaces from the `Project' menu. From this menu you can also add new or existing projects to your own Project Space.

For more information, please refer to the 8051 EDE on-line help system.

CodeSense

CodeSense virtually looks over your shoulder and gives you useful information in the form of hints as you type your source code. For example if you are programming a printf statement, it will show you the next expected parameter and the prototype of this function in a small yellow balloon-help box. If you have already defined a structure with numerous members and from a certain location within your code and you want to access a member, just type in the structure name and a dot, and CodeSense will show you a list with all possible members. You can select a member from this list or search for where this member is defined. This also works for C++ language elements. If you hover the mouse pointer over a function name, CodeSense will show the prototype of this function. This also applies to variables, structures, etc. Just hover the mouse pointer over a C or C++ language element and CodeSense will show you whatever information is relevant.

In order to have all this information ready at hand, CodeSense automatically builds a database using all the files in the "include", "include.cpp" and "examples" directories when you first start the 8051 EDE. This is shown by the CodeSense green light which is displayed near the right bottom corner of the EDE window which will become gray when this database is completed. That is the signal that CodeSense is operational.

You can also add your own databases by clicking with the left mouse button on the CodeSense light and select the libraries option. Please follow the instructions to add your own CodeSense information from your own application to the CodeSense database.

Browsing Tags

Tags reflect the cross references in your application. By building a Tags file and graphically browsing your source code using this Tags file, you can get a good overview on cross references in your application such as, which global variables are defined and where they are used, which enumeration types are defined, which global functions are defined and where are they used. Browsing of Tags can help you in getting to know someone else's source code easily and quickly without the need to dive into every detail. From the `Projects' menu select the `Build Tags' option to build a Tags file which reflects your current project. Next, open this Tags file from the browse window which you find in the output window in the bottom of the EDE window. Please select the `Browse' TAB in this window and open the Tags file which has the same name as your current project using the "*.ptg" file extension. Start browsing your application.

Snippets

The 8051 EDE comes with some pre-build Snippets which can aid you in improving your coding speed and efficiency. Basically, Snippets are cut-copy-paste pieces of text which you can select from the Snippets library and drop into your source code. The pre-built Snippets are available from the Snippets library, and can be accessed by selecting the right most icon (the CodeFolio button) which is located under the left pane project window.
You can even create your own Snippets by simply copying a piece of text or source code to the clipboard, click with the right mouse button on the Snippets library and select to add your Snippet to it.
Snippets can also contain some interactive elements which will be activated when you drop a Snippet into your source code. For example, if you select a function header Snippet, it will ask for the name of the function which will automatically be filled in when the Snippet is dropped into the source code. Please see the 8051 EDE online help system for more information.

Support for Expert mode

For the average project a lot of options offered in the EDE are unnecessary. To hide these 'advanced' options EDE has been extended with an extra menu option 'Expert Mode'. Selecting this mode (shown by the menu entry being checked) will result in the dialogs showing all available options, just like the default situation in previous versions. Deselecting this entry (unchecked menu entry) will result in a much simpler interface. Only the most common options will be shown in that case.

Application extensions

There are a number of 8051 EDE application extensions such as, an HTML browser and an FTP client which are not available by default. These applications must be loaded in the EDE before they can be used. Please select the `Tools' menu, select the `Customize' menu entry and finally select the `Libraries' sub-menu entry. This will open a list of application extensions which can be loaded by selecting the extensions you want to use.

Automatic startup code generation

By default EDE will now automatically generate the startup code based on the options chosen. This generated file '<project>_cstart.asm' will be generated in the project directory and will also be added automatically to the project. Both generation as well as addition of the startup code file to the project can be switched on and off under EDE | Processor Options | Startup.

Support for new derivatives

Several new derivatives including complete new families are now supported throughout the toolchain. The following families are now supported:

New examples

Several new examples have been added to show the use of I2C, timers and the serial port.


C COMPILER

New compiler optimizations

The C compiler has been improved on the following areas:
  • Long and integer arithmetic (compound plus/minus, compare to const).
  • Dead assignment elimination for global variables.
  • Improved handling of integers in space data.
  • Removal of obsolete register moves.

  •  

    Register bank independent code generation

    An option '-noregaddr' has been added to the compiler to switch to register bank independent code generation. In order to generate very efficient code the compiler uses absolute register addresses in its code generation. For example a register to register move. Since there is no 'MOV register,register' instruction the compiler will generate a 'MOV register,direct' instead with the absolute address of the source register as the 2nd operand. The absolute address of a register depends on the register bank, but sometimes this dependency is undesired. This is for example the case when a function has to be called from both the main thread and an interrupt thread. If both threads use different register banks they can not call a function that uses absolute register addresses. The compiler is now capable of generating a register bank indepent function that can be called from both threads.

    Example:

    _noregaddr int func( int x )
    {
        /* this function can be called from any function
           indepent of its register bank */
        return x+1;
    }
    _using(1) void f1( void )
    {
        func( 1 );
    }
    
    _using(0) void main( void )
    {
        func( 0 );
    }

    Improved function pointer support

    The compiler supports parameter passing to indirectly called static functions. The only restriction is that all parameters should fit in registers.
     

    Safer C

    Safer C consist of a large set of rules that can be used to restrict the use of dangerous and obscure C constructions. The compiler supports compliance checking to these rules. Each of the Safer C rules can be switched on and off separately using a -safer <rule number> option. EDE is extended with a separate menu allowing each of the rules to be switched on or off. Also it allows for selection of the MISRA C guidelines (see http://www.misra.org.uk ).
     
     


    ASSEMBLER

    Support for including compiler SFR files

    The assembler is capable of including compiler SFR files. Just like the compiler the assembler now automatically includes the SFR file based on the cpu type.
     


    LINKER

    Support for special libraries

    To be able to support special optimized libraries the linker now has an option -A<architecture>. Using that option the linker will first search in the directory with the name <architecture>. If the library is found in that directory that will be used, otherwise the default directory will be searched.
     


    CROSSVIEW PRO

    Support for including compiler SFR files

    Crossview Pro is now capable of reading compiler SFR files. Based on the specified cpu type the corresponding SFR file will be read. Through this support Crossview Pro has no more need for definition and corresponding data files. This also means the register manager that converted a definition into a binary data file has become obsolete.

    Simulator peripheral support

    The simulator now support simulation of the following peripherals:
  • Timer 0
  • Timer 1
  • Timer 2
  • Idle mode
  • Powerdown mode
  • Watchdog Timer
  • Interrupts
  • Serial ports 0 and 1
  • Infineon MDU arithmetic unit
  • Dallas Arithmetic Accelerator

  • The table below shows a list of all supported derivatives with the peripherals supported for that derivative. Explanation of the columns:

      T0:    Timer 0 supported
      T1:    Timer 1 supported
      T2:    Timer 2 supported
      UART: 
             U1 = single UART supported
             U2 = double UART supported
      WDT:
             W1 = Watchdog type 1 supported (as used in Infineon C504)
             W2 = Watchdog type 2 supported (as used in Infineon C515C)
             W3 = Watchdog type 3 supported (as used in Infineon C509)
             W4 = Watchdog type 4 supported (as used in Analog Devices ADuC812)
             W5 = Watchdog type 5 supported (as used in Analog Devices ADuC824)
             W6 = Watchdog type 6 supported (as used in Philips P83C524)
             W7 = Watchdog type 7 supported (as used in Philips P80C550)
             W8 = Watchdog type 8 supported (as used in Philips P8xCE558)
             W9 = Watchdog type 9 supported (as used in Dallas DS80C390)
             W10 = Watchdog type 10 supported (as used in Intel MCS151)
             W11 = Watchdog type 11 supported (as used in Atmel AT89S53)
      I/P:  
             I = Idle mode supported
             P = Powerdown mode supported
      MDPTR: Multiple data pointers supported
      IL:    Number of interrupt levels supported
      RAM:   Internal RAM size
    
    
     
    T0
    T1
    T2
    UART
    WDT
    I/P
    MDPTR
    IL
    RAM
    Atmel
    at80f51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    at8x1051 
    *
           
    I+P
     
    2
    64
    at8x1051u 
    *
    *
     
    U1
     
    I+P
     
    2
    64
    at8x2051 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    at8x51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    at8x51rc 
    *
    *
    *
    U1
    W10
    I+P
     
    2
    256
    at8x52 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    at8x53 
    *
    *
    *
    U1
    W11
    I+P
     
    2
    256
    at89s53 
    *
    *
    *
    U1
    W11
    I+P
     
    2
    256
    at8x55 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    at8xs4d12           
    I+P
     
    2
    256
    at8x8252 
    *
    *
    *
    U1
    W11
    I+P
     
    2
    256
    at8x4051 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    Dallas
    ds80c310 
    *
    *
    *
    U1
     
    I+P
    *
    2
    256
    ds80c320 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    ds80c323 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    ds80c390 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    ds8xc520 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    ds8xc530 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    ds8xc550 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    Intel
    i8051 
    *
    *
     
    U1
         
    2
    128
    i8xc51fx 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    i87c51gb 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    i83c152 
    *
    *
     
    U1
     
    I+P
     
    2
    256
    i8052 
    *
    *
    *
    U1
         
    2
    256
    i8xc52 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    i8xc54 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    i8xc58 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    i8x931ax 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    i8x931hx 
    *
    *
    *
    U1
     
    I+P
     
    4
    256
    mcs151 
    *
    *
    *
    U1
    W10
    I+P
     
    4
    256
    Philips                  
    p8xcx66 
    *
    *
     
    U1
    W8
    I
     
    2
    256
    p8xcx70 
    *
    *
     
    U1
    W8
    I+P
     
    2
    256
    p8xcx80 
    *
    *
     
    U1
    W8
    I+P
     
    2
    256
    p83c145 
    *
               
    2
    256
    p8xc055 
    *
               
    2
    256
    p80cl51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    p8xc51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    p80c31 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    p80c32 
    *
    *
    *
    U1
     
    I+P
     
    4
    128
    p8xcl410 
    *
    *
         
    I+P
     
    2
    128
    p83c434 
    *
    *
         
    I+P
     
    2
    128
    p8xc451 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    p8xc453 
    *
    *
     
    U1
     
    I+P
     
    2
    256
    p8xc51fx 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p8xc51rx 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p89c51rx+ 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p89c51rx2 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p8xc52 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p8xc524 
    *
    *
    *
    U1
    W6
    I+P
     
    2
    256
    p8xc528 
    *
    *
    *
    U1
    W6
    I+P
     
    2
    256
    p89c536 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p89c538 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xc54 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p8xc550 
    *
    *
     
    U1
    W7
    I+P
     
    2
    128
    p8xc552 
    *
    *
    *
    U1
    W7
    I+P
    *
    4
    256
    p8xc554 
    *
    *
    *
    U1
    W8
    I+P
    *
    4
    256
    p8xc557e4 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xc557e6 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xc557e8 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xce558 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xce559 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xce560 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xc562 
    *
    *
    *
    U1
    W7
    I+P
     
    2
    256
    p8xc575 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xc576 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xc58 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    p8xcl580 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xc591 
    *
    *
    *
    U1
    W8
    I+P
    *
    4
    256
    p8xc592 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xce598 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xc652 
    *
    *
     
    U1
     
    I+P
     
    2
    256
    p8xc654 
    *
    *
     
    U1
     
    I+P
     
    2
    256
    p89c660 
    *
    *
    *
    U1
    W10
    I+P
    *
    4
    256
    p89c662 
    *
    *
    *
    U1
    W10
    I+P
    *
    4
    256
    p89c664 
    *
    *
    *
    U1
    W10
    I+P
    *
    4
    256
    p89c738 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p89c739 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    p8xc748 
    *
    *
     
    U1
     
    I+P
     
    2
    64
    p8xc749 
    *
       
    U1
     
    I+P
     
    2
    64
    tpm749 
    *
       
    U1
     
    I+P
     
    2
    64
    p8xc750 
    *
       
    U1
     
    I+P
     
    2
    64
    p8xc751 
    *
       
    U1
     
    I+P
     
    2
    64
    p8xc752 
    *
       
    U1
         
    2
    64
    p8xc754 
    *
    *
     
    U1
         
    2
    64
    tpm754 
    *
    *
     
    U1
     
    I+P
     
    2
    256
    p87lpc762 
    *
    *
     
    U1
     
    I+P
     
    4
    128
    p87lpc764 
    *
    *
     
    U1
     
    I+P
     
    4
    128
    p87lpc767 
    *
    *
     
    U1
     
    I+P
     
    4
    128
    p83cl781 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p83cl782 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p83c834 
    *
    *
         
    I+P
     
    2
    256
    p83c845 
    *
               
    2
    256
    p8xc851 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    p8xc852 
    *
    *
     
    U1
         
    2
    256
    p83c858 
    *
    *
     
    U1
         
    2
    256
    p87cl881 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xcl883 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xcl884 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xcl886 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    p8xcl887 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    saa5x9x 
    *
    *
             
    2
    256
    szf2002 
    *
    *
    *
    U1
    W8
    I+P
     
    2
    256
    telx 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    Infineon Technologies
    sc501 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sc504 
    *
    *
    *
    U1
    W1
    I+P
    *
    2
    256
    sc505 
    *
    *
    *
    U1
    W2
    I+P
    *
    2
    256
    sc505a 
    *
    *
    *
    U1
    W2
    I+P
    *
    2
    256
    sc505c 
    *
    *
    *
    U1
    W2
    I+P
    *
    2
    256
    sc505ca 
    *
    *
    *
    U1
    W2
    I+P
    *
    2
    256
    sc505l 
    *
    *
    *
    U1
    W2
    I+P
    *
    2
    256
    sc508 
    *
    *
    *
    U1
    W1
    I+P
    *
    2
    256
    sc509 
    *
    *
     
    U2
    W3
    I+P
    *
    2
    256
    sc513 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sc513a 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sc513ao 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sc515 
    *
    *
     
    U1
    W2
    I+P
    *
    2
    256
    sc515a 
    *
    *
     
    U1
    W2
    I+P
    *
    2
    256
    sc515c 
    *
    *
     
    U1
    W2
    I+P
    *
    2
    256
    sc517a 
    *
    *
     
    U2
    W2
     
    *
    2
    256
    sc541u 
    *
    *
       
    W1
    I+P
     
    2
    256
    sab80c515 
    *
    *
     
    U1
         
    2
    256
    sab80c535 
    *
    *
     
    U1
         
    2
    256
    sab8xc515a
    *
    *
     
    U1
         
    2
    256
    sab80c517 
    *
    *
     
    U2
    W2
     
    *
    2
    256
    sab8xc517a 
    *
    *
     
    U2
    W2
     
    *
    2
    256
    sab80c537 
    *
    *
     
    U1
         
    2
    256
    sc868 
    *
    *
     
    U1
         
    2
    256
    Cypress/Anchor
    anezusb 
    *
    *
    *
    U1
     
    I
    *
    2
    256
    Triscend
    tre5 
    *
    *
    *
    U1
    W9
    I+P
    *
    2
    256
    Silicon Storage Technology
    sst89f54 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sst89f58 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sst89c54 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sst89c58 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    sst89c59 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    Temic
    ts8xc51u2 
    *
    *
    *
    U2
    W10
    I+P
    *
    4
    256
    ts80c31x2 
    *
    *
     
    U1
     
    I+P
    *
    4
    128
    ts8xc52x2 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    ts8xc54x2 
    *
    *
    *
    U1
    W10
    I+P
    *
    4
    256
    ts8xc58x2 
    *
    *
    *
    U1
    W10
    I+P
    *
    4
    256
    ts8xc51rx2 
    *
    *
    *
    U1
     
    I+P
    *
    4
    256
    tsc80c51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    tsc80cl51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    tsc87c51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    ts8xc5101 
    *
    *
    *
    U1
     
    I+P
    *
    2
    256
    ts8xc5102 
    *
    *
    *
    U1
     
    I+P
    *
    2
    256
    Analog Devices
    aduc812 
    *
    *
    *
    U1
    W4
    I+P
     
    2
    256
    aduc824 
    *
    *
     
    U1
    W5
    I+P
     
    2
    256
    ISSI
    is80c31 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    is80c51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    is80c32 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    is80c52 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    Winbond
    w77c32 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    w77e468 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    w77e58 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    w77le58 
    *
    *
    *
    U2
    W9
    I+P
    *
    2
    256
    w78c32c 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c33b 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c438c 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c516 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c51d 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    w78c52d 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c54
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c58 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78c801 
    *
    *
         
    I+P
     
    2
    256
    w78e516b 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78e51b 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    w78e52b 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78e54 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78e58 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78ie54 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78l32 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78l33 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78l51 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78l52 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78l54 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78l801 
    *
    *
         
    I+P
     
    2
    256
    w78le51 
    *
    *
     
    U1
     
    I+P
     
    2
    128
    w78le52 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78le54 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    w78le812 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    Xicor
    x89hs51 
    *
    *
    *
    U1
    W9
    I+P
    *
    2
    256
    Domosys
    ceway_pl_one 
    *
    *
    *
    U1
     
    I+P
     
    2
    256
    SMC
    com20051 
    *
    *
     
    U1
     
    I+P
     
    2
    256
    TDK
    tdk73m2910 
    *
    *
    *
    U1
     
    I+P
     
    2
    256

     


    Solved problems

    A large number of problems has been solved in this release. They are described in separate files: "solved_<name>.html".
     


    Copyright (c) 2001 TASKING, Inc.