Keil™, An ARM® Company

C166 User's Guide

Version 1.0 Differences

  • C167 and Derivative Support
    The C166 Compiler now supports code generation for the C167 and its derivatives. The MOD167 directive causes the compiler to generate C167 instructions instead of C166 (80C166) instructions. Code generated for the C167 may contain EXTP, EXTR, and EXTS instruction sequences for accessing far and huge memory and extended registers.
  • Additional Warnings
    The C166 Compiler now checks for unused local variables, labels, and expressions.
  • Incremental Linkage
    The L166 Linker now supports incremental linkage which allows you to link your program without locating sections to their final addresses. This feature is enabled by the LINKONLY directive.
  • FIX166 Directive
    The FIX166 directive resolves the A17 problem of the 80C166.
  • FIX167 Directive
    The FIX167 directive resolves the CPU.3 problem of the C167 derivative.
  • MOD167 Directive
    The MOD167 directive instructs the compiler to generate C167 instructions.
  • NOAMAKE Directive
    The NOAMAKE directive excludes AutoMAKE information from the generated object file.
  • REGFILE Directive
    The REGFILE directive specifies the name of the register definitions file to use for global register optimization.
  • RENAMECLASS Directive
    The RENAMECLASS directive allows you to rename a memory class within your C program.
  • WARNINGLEVEL Directive
    The WARNINGLEVEL directive allows you to suppress compiler warnings based on level.
  • L166 LINKONLY Directive
    The LINKONLY directive suppresses the linker's locate process.
  • L166 PUBLICSONLY control
    The PUBLICSONLY directive includes only public symbol information from an input file in the linkage.
  • L166 REGBANK Directive
    The REGBANK directive defines the base address, a memory address, or the order of register banks.
  • L166 VECTAB Directive
    The VECTAB directive specifies the starting address for the interrupt vector table.