@Devsolar: спасибо. :)

о ли выполнение программы начинаться с основного или можно изменить начальный адрес?

#include <stdio.h>

void fun();

#pragma startup fun

int main()
{
    printf("in main");
    return 0;
}

void fun()
{
    printf("in fun");
}

Эта программа печатаетin fun доin main.

Ответы на вопрос(3)

Ваш ответ на вопрос