Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Turbo C - ISR chaining? (Developers)

posted by tom Homepage, Germany (West), 07.12.2020, 14:42
(edited by tom on 07.12.2020, 22:11)

> > > With this you should be able to examine and modify the return address
> on
> > > the stack and make your ISR "chain" to another.
> >
> > It's always better to avoid this dirty hacks that depends on ABI. Seems
> > that many C compilers (at least we know DJGPP, BC, OWC) provides clean
> > solution with chain_something function/macro...
>
> What you want is bound to be one kind of dirty hack or another. It's not
> standard in any way (not de jure standard C,
of course not. 'standard C' runs everywhere; '__interrupt' works only on DOS.

> not de facto standard MSDOS C.
whatever standard MSDOS C you are referring to, MSC has had this from version 1.0. WATCOM as well.

having __interrupt but not chain_intr() is just unlikely.

edited to add: Borland compilers (TC, TCPP, BC) indeed seem to have missed this function (and of course SmallC, smallerC, C-- never had this. but I wouldn't call them 'standard' in any way). which made the __interrupt functions able to function as COMx handlers, but not able as multiplex (int 2f) function handlers.

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 111 users online (0 registered, 111 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum