summaryrefslogtreecommitdiffstats
path: root/private/mvdm/softpc.new/base/ccpu386/popa.c
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/mvdm/softpc.new/base/ccpu386/popa.c
downloadNT4.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.c61
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());
+ }