[comp.lang.c] need help on Multi-Tasking with TC1.5

baruchc@techunix.BITNET (Baruch Cochavy) (09/17/88)

Hello,

        I have run into some strange problem while trying to implement
multi-tasking with TC 1.5.
        What I'm trying to do is do a full context switch, that changes
to whole machine state, with the help of SETJMP-LONGJMP. I have stored
a pointer to the old context at INT F0 location, so that I can return to
my program's context. Then, changing the registers value in the longjmp
structure, I have created the new context. The problem is that when I
try to return to my program's context (I manage to get into the task's
context), the whole system just stays in limbo, and does not respond to
anything.
        I have tried a different approach, that is to change only the DS
register. This, again, led to the same results. I finally set on PUSH DS,
and then POP DS, with no intervening code, but this has also led to the
same result.
        Any clue ? Any help will be most appreciated.

                                        Baruch Cochavy
                                        baruchc@techunix.BITNET