Keil Logo

GENERAL: Using Registerbanks and Interrupts

Information in this article applies to:

  • C166 All Versions
  • C251 All Versions
  • C51 All Versions


I have several interrupt functions in my application. How should I assign registerbanks to these interrupt functions? Is the rule different when I use a real-time operating system like RTX-Tiny?


Several interrupt functions may share the same registerbank provided that they cannot interrupt each other.

The 8051, 251, and 166 based microcontrollers have priority driven interrupt systems. This implies that an interrupt function can only be interrupted by another interrupt function with a higher priority. In real applications this means that you can assign all interrupts with the same interrupt priority level to the same registerbank. This reduces the registerbanks and the memory required by your application.

There is no difference to this rule when you are using real-time operating systems like RTX-Tiny.



Last Reviewed: Thursday, February 25, 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.