Header Files

Modern micro controllers come with huge loads of Special Function Registers. It can be a nightmare to enter hundreds of register names, bit names, vector names, I/O register names and option names for the controller you want to work on.

Therefore I have added quite some header files for a number of popular micro controller families. I know, the list is still far from complete, but I keep adding new ones whenever I have a few ours to spare.

The header files can be found in the headers directory of the download package (what a surprise). Most of the files are adapted copies from files which were provided by the manufacturers. Register names often reflect the names used in the device’s documentation.
But bear in mind that creating these files is manual labour, which means that an occasional error may exist. Either because it was there in the original file, or it was introduced by the necessary adaptions I had to make. Please let me know if you spot an error in any of the files.

Using a header file

The easiest way to use these headers files is to copy the required file over to your project directory. That way you will always have it around when you want to re-assemble the program years later. Then simply use the .IN directive to include the header file somewhere at the beginning into your code.
The header files can be found in the directory headers of the distribution packet.

Intel headers

I have only included 2 Intel header files yet. Perhaps I may add some more for other common Intel Micro controllers later. The header files select the appropriate Cross overlay and defines all SFR registers for you.

Microchip headers

The Microchip headers not only define the register names. They also select the proper cross overlay and ROM size for you. So if you include one of those header files you don’t have to specify these yourself any more.
The header files are the original files provided by Microchip, adapted for the SB-Assembler.

Atmel headers

The Atmel headers not only define the register names. They also activates the AVR cross overlay, selects the proper family and ROM size for that particular processor for you. So if you include one of those header files you don’t have to specify these yourself any more.
The header files are the original files provided by Atmel, adapted for the SB-Assembler.