diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/mvdm/softpc.new/base/ccpu386/popa.c | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/mvdm/softpc.new/base/ccpu386/popa.c')
-rw-r--r-- | private/mvdm/softpc.new/base/ccpu386/popa.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/private/mvdm/softpc.new/base/ccpu386/popa.c b/private/mvdm/softpc.new/base/ccpu386/popa.c new file mode 100644 index 000000000..4a6e2e1e0 --- /dev/null +++ b/private/mvdm/softpc.new/base/ccpu386/popa.c @@ -0,0 +1,61 @@ +/*[ + +popa.c + +LOCAL CHAR SccsID[]="@(#)popa.c 1.5 02/09/94"; + +POPA CPU Functions. +------------------- + +]*/ + + +#include <insignia.h> + +#include <host_def.h> +#include <xt.h> +#include <c_main.h> +#include <c_addr.h> +#include <c_bsic.h> +#include <c_prot.h> +#include <c_seg.h> +#include <c_stack.h> +#include <c_xcptn.h> +#include <c_reg.h> +#include <popa.h> + + +/* + ===================================================================== + EXTERNAL ROUTINES START HERE + ===================================================================== + */ + + +GLOBAL VOID +POPA() + { + validate_stack_exists(USE_SP, (ISM32)NR_ITEMS_8); + SET_DI(spop()); + SET_SI(spop()); + SET_BP(spop()); + (VOID) spop(); /* throwaway SP */ + SET_BX(spop()); + SET_DX(spop()); + SET_CX(spop()); + SET_AX(spop()); + } + +GLOBAL VOID +POPAD() + { + validate_stack_exists(USE_SP, (ISM32)NR_ITEMS_8); + SET_EDI(spop()); + SET_ESI(spop()); + SET_EBP(spop()); + (VOID) spop(); /* throwaway ESP */ + SET_EBX(spop()); + SET_EDX(spop()); + SET_ECX(spop()); + SET_EAX(spop()); + } |