setjmp/longjmp
Doug Gwyn <gwyn>
gwyn at brl-tgr.ARPA
Fri Nov 9 22:47:11 AEST 1984
> Ummm... it's easy to push the register mask when you moveml the registers
> to be saved on entry to a subroutine in the 68000, but moveml mask,(a7)-
> and moveml mask,(a7)+ expect the mask reversed from each other! How
> do you propose to invert a 16-bit mask end-for-end (i.e. 11100...001
> <=> 100...00111 ) and still have a fast calling sequence?
Just great -- more computer architecture brain damage!
The only way I can see that makes sense to try is to record the NUMBER
of registers saved (equivalently, the last register number) and use a
quick scheme to generate the appropriate mask upon cret. (I am not
very familiar with the 68000 and so I do not know if it has any fast
way to set up such a mask; one way that would work is to index a mask
table.)
In any case, I have given up on setjmp/longjmp. I never had any use
for them anyway. What a lossage.
More information about the Comp.lang.c
mailing list