1
0
Fork 0

Save ebp during dynamic block execution

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1739
This commit is contained in:
Sjoerd van der Berg 2004-03-23 22:17:55 +00:00
parent a07aad49c8
commit 872f5726d0

View file

@ -116,13 +116,15 @@ return_address:
#else
register Bit32u tempflags=reg_flags & FMASK_TEST;
__asm__ volatile (
"pushl %%ebp \n"
"pushl $(run_return_adress) \n"
"pushl %2 \n"
"jmp *%3 \n"
"run_return_adress: \n"
"popl %%ebp \n"
:"=a" (retval), "=c" (tempflags)
:"r" (tempflags),"r" (code)
:"%edx","%ebx","%edi","%esi","cc","memory"
:"%edx","%ebx","%edi","%esi","%ebp","cc","memory"
);
reg_flags=(reg_flags & ~FMASK_TEST) | (tempflags & FMASK_TEST);
#endif