On Wed, 24 May 2000, Marcus Meissner wrote:

> Added comments and commented out the code after some discussion and analysis
> on gcc-bugs.

I rewrote that asm section a few weeks ago, but didn't submit it because I
wanted to do other dpmi cleanups too first while I was at it.

Some of these explicit registers constraints ("d", "a", and "c") could
probably be replaced with "r", though, in case the compiler has a better
arrangement itself. How does this look to you?

            __asm__ __volatile__(
                 "pushl %%ebp\n"
                 "pushl %%es\n"
                 "pushl %%ds\n"
                 "pushfl\n"
                 "mov %7,%%es\n"
                 "mov %5,%%ds\n"
                 "lcall *(%3)\n"
                 "popl %%ds\n"
                 "mov %%es,%0\n"
                 "popl %%es\n"
                 "popl %%ebp\n"
             : "=d" (es), "=D" (edi), "=S" (_clobber), "=a" (_clobber), "=c" (_clobber)
             : "0" (ss), "2" (ESP_reg(context)),
               "4" (rmcb->regs_sel), "1" (rmcb->regs_ofs),
               "3" (&rmcb->proc_ofs)
             : "ebx" );

Reply via email to