From: M. F. F. <m_f...@ho...> - 2002-03-01 06:52:42
|
Hi gurus, The only interrupt I use is Timer 0. How can I use unused isr slack for = my code? thanks in advance, ~fhy |
From: Bernhard H. <ber...@be...> - 2002-03-08 14:46:37
|
>The only interrupt I use is Timer 0. How can I use unused isr slack for my code? Hmm. Sorry, I don't understand you question. What is a "isr slack"? Where is that space? Bernhard |
From: M. F. F. <m_f...@ho...> - 2002-03-11 09:58:22
|
Hi Bernhard, I am sorry...please excuse my english :) 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 ? ~fhy ----- Original Message ----- From: Bernhard Held <ber...@be...> To: M. Fahmy F. <m_f...@ho...>; <sdc...@li...> Sent: Friday, March 08, 2002 9:45 PM Subject: Re: [Sdcc-user] using isr spaces > >The only interrupt I use is Timer 0. How can I use unused isr slack for my > code? > > Hmm. Sorry, I don't understand you question. What is a "isr slack"? Where is > that space? > > Bernhard > > |
From: Bernhard H. <ber...@be...> - 2002-03-11 10:50:00
|
> 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. sed. 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. Bernhard |