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" );