Keil Logo

C166: Error 155 (Invalid Base Address)


When I include the REG164.H header file in my C programs and compile, I get the following error message from the compiler:

*** ERROR 155 IN LINE 14 OF C:\C166\INC\REG164.H: 'ADDAT2': invalid base address

What's the problem?


The Siemens C165, C164, C163, and C161 are all derivatives of the C167. For this reason, you must use the MOD167 switch when you compile programs for these chips.

You may do this from the command line by including the MOD167 directive.

You may set this option in µVision by selecting the C166 Compiler Options from the Options for Target menu. Then, under the Object tab, select Enable 80C167 Instructions.


The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Friday, January 22, 2021

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.