Re: [AD] x color conversion again

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> Heh. Does this mean, there might be other code like that? Like, the asm
> blitters and so on. But since there's no more crashes in the signals
> version, I guess not.

No, I don't think so.  As I said, I didn't invent anything, I copy-pasted
Isaac's code.

> Well, the 16 was my idea, since the original code said:
>
> #define LOCAL1   -4(%esp)
> #define LOCAL2   -8(%esp)
> #define LOCAL3   -12(%esp)
> #define LOCAL4   -16(%esp)

Then it's a minor mistake ;-)  The non-MMX code only declares 3 local
variables so the frame is 12-byte large, not 16-byte large.

> So I assumed adding 16 would be the way to fix it. I must admit, I'm not
> sure what you mean with 16-byte alignement. Does it mean, I can use
> something like -4(%esp) if and only if %esp is 16-byte aligned?

This means that, at any time (especially on interrupt boundaries and context
switches), the value of %esp must be a multiple of 16.  So you can only
add or subtract multiples of 16 to %esp.

> SPILL_SPOT would be sort of a temp variable?

Yes, but uninitialized by the setup code.

I'll try to write something in the next few days.

--
Eric Botcazou






Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/