> This is part of machine code I get after using HEX2BIN utility:
> 0000 02 06 60 32 FF FF FF FF FF FF FF 02 00 38 FF FF
> 0010 FF FF FF 32 FF FF FF FF FF FF FF 32 FF FF FF FF
> 0020 FF FF FF 32 FF FF FF FF FF FF FF 32 FF FF FF FF
> 0030 FF FF FF 12 04 22 ...
> I was only using Timer0 ISR (at loc 0x001b), so as you all see there were
> simple RETI (0x32) at locs 0x0003, 0x0013, 0x0023, 0x002b.
> Say I need little extra code space, but I am not interested in using other
> device with greater ROM ( please don't ask why... ), how can I use those
> "unused" ISR space, say from code location 0x0010 ?
There's no official, documented way to use this space. Two quick ideas:
1. Compile your main.c to main.asm, edit main.asm, and then assemble it.
This can be automated by replacing the section __interrupt_vect with e.g.
2. Don't use main() in your source. In this case SDCC doesn't emit
__interrupt_vect, __sdcc_gsinit_startup, __sdcc_init_data and
__sdcc_program_startup. Now you can supply your own in an assembler source.