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:
parent
a07aad49c8
commit
872f5726d0
1 changed files with 3 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue