address space overflow even code space available

I have a program about 1K size to program into 4K rom space.
Linker is giving ADDRESS SPACE OVERFLOW error for certain segments (2 interrupt segments and const segment) but these code are small enough to fit to remaining 3K.
When I increase the code space to 32K, the map file indicates that these problem segments are located starting from 4000H, which probably explains my problem.
Why 4000H??

More questions in this forum