Date: Thu, 5 Jul 2001 18:38:29 -0400 Message-Id: <200107052238.SAA11334@envy.delorie.com> X-Authentication-Warning: envy.delorie.com: dj set sender to dj AT envy DOT delorie DOT com using -f From: DJ Delorie To: djgpp AT delorie DOT com In-reply-to: <9i2m71$qlf$1@news.tpi.pl> (xos@o2.pl) Subject: Re: Accessing registers from C References: <9i2m71$qlf$1 AT news DOT tpi DOT pl> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > __attribute__ ((("far"))) > __attribute__ ((("interrupt"))) These are probably do-able, if you limit yourself to functions (and not data; far *pointers* just won't work). In other words, if you just want an option that means "use a different epilogue/prologue" you can probably implement that. Don't expect it to be easy to tell gcc how to *call* such a function, though. That's much harder, because then you have to watch out for pointers again. You may want a syntax like __attribute__((far_return)) __attribute__((interrupt_return)) To keep people from thinking that "far" applies to anything else.