From Lucho: no need to preserve ebx

git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@964 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2004-05-28 11:58:18 +00:00
parent 57bac85ae3
commit 0168037d73
3 changed files with 5 additions and 8 deletions

View File

@ -117,8 +117,9 @@ irp_hi equ 26
; later ; later
; ;
; assumption: ; assumption:
; we have never seen MSVC to use anything but eax,ecx, edx ; we have never seen MSVC to use anything but eax, ecx, edx,
; so we only protect eax, ebx, ecx, edx to conserve stack space ; nor have we seen Borland C to use anything but eax, edx,
; so we only protect eax, ecx, edx to conserve stack space
; ;
; to save even more stack space, we save only HIGH part of regs ; to save even more stack space, we save only HIGH part of regs
; at some expense of slower execution. it's easier anyway :-) ; at some expense of slower execution. it's easier anyway :-)
@ -148,8 +149,6 @@ irp_hi equ 26
%else %else
push eax push eax
pop ax pop ax
push ebx
pop bx
push ecx push ecx
pop cx pop cx
push edx push edx
@ -168,8 +167,6 @@ irp_hi equ 26
pop edx pop edx
push cx push cx
pop ecx pop ecx
push bx
pop ebx
push ax push ax
pop eax pop eax
%endif %endif

View File

@ -352,7 +352,7 @@ int21_exit_nodec:
%ifdef WATCOM %ifdef WATCOM
sub bp, 4 ; for fs and gs only sub bp, 4 ; for fs and gs only
%else %else
sub bp, 8 ; high parts of eax, ebx, ecx, edx sub bp, 6 ; high parts of eax, ecx, edx
%endif %endif
%endif %endif

View File

@ -1635,7 +1635,7 @@ struct int2f12regs {
#ifdef __WATCOMC__ #ifdef __WATCOMC__
/* UWORD gs, fs; ** GS/FS are protected through SI/DI */ /* UWORD gs, fs; ** GS/FS are protected through SI/DI */
#else #else
UWORD high_edx, high_ecx, high_ebx, high_eax; UWORD high_edx, high_ecx, high_eax;
#endif #endif
#endif #endif
UWORD es, ds; UWORD es, ds;