12.3 Locating a Function at a Specific Address
In this example, function func is located at a specific
         address. A built-in compiler function is used to calculate the program memory address,
         which is not otherwise available in C.
#include "stdio.h"
  void __attribute__((address(0x2000))) func()
  {}
  
  void main()
  {
    long addr;
    addr = __builtin_tbladdress(func);
    printf("0x2000 = 0x%lx\n", addr);
  }
      The equivalent function definition in assembly language appears below. The
            .align directive is optional and represents the default alignment in
         program memory. Use of * as a section name causes the assembler to
         generate a unique name based on the source file name.
       .section *,address(0x2000),code
       .global _func
       .align 2
_func: return
   