I am writing a interrupt service routine for a vectored
>interrupt(vectored address 0x0056). Now I want to load this subroutine to
start from the address(0x0056).
This is off-topic for comp.lang.c. I suggest looking at the manuals
that came with your linker. Oh, yes, you didn't say what compiler
that was or what CPU is involved.
Are you sure you want that? Isn't the *VECTOR* at location 0x0056,
and you want the subroutine to be a bit longer than the size of a
vector?
A common thing to do on PCs is to have an initialization routine
which will "hook" vectors by setting the vector to the address of
a given function, and possibly save the old vector in case the new
routine wants to call the old one. Of course, this doesn't work
if everything is in ROM.
Sometimes it's worth going to assembly language, which may allow
you to define data located at an absolute address.