summaryrefslogtreecommitdiffstats
path: root/private/mvdm/softpc.new/obj.vdm/c_regs.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/obj.vdm/c_regs.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/obj.vdm/c_regs.c')
-rw-r--r--private/mvdm/softpc.new/obj.vdm/c_regs.c431
1 files changed, 431 insertions, 0 deletions
diff --git a/private/mvdm/softpc.new/obj.vdm/c_regs.c b/private/mvdm/softpc.new/obj.vdm/c_regs.c
new file mode 100644
index 000000000..5e69470ec
--- /dev/null
+++ b/private/mvdm/softpc.new/obj.vdm/c_regs.c
@@ -0,0 +1,431 @@
+#ifndef MONITOR
+
+//
+// temp file for Assembler CPU which provides a simple C cpu -> A cpu register
+// mapping for MS libraries (DEM/WOW32/XMS) which are linked for ccpu register
+// gets & sets. STF.
+
+#include "host_def.h"
+#include "insignia.h"
+#include "xt.h"
+#include CpuH
+
+#ifdef A3CPU
+
+#ifndef CCPU
+half_word c_getAL()
+{
+ half_word xal; //pedantic method put in to check compiler correct etc...
+ xal = a3_getAL();
+ return(xal);
+}
+
+half_word c_getAH()
+{
+ half_word xah;
+ xah = a3_getAH();
+ return(xah);
+}
+
+word c_getAX()
+{
+ word xax;
+ xax = a3_getAX();
+ return(xax);
+}
+
+half_word c_getBL()
+{
+ half_word xbl;
+ xbl = a3_getBL();
+ return(xbl);
+}
+
+half_word c_getBH()
+{
+ half_word xbh;
+ xbh = a3_getBH();
+ return(xbh);
+}
+
+word c_getBP()
+{
+ word xbp;
+ xbp = a3_getBP();
+ return(xbp);
+}
+
+word c_getBX()
+{
+ word xbx;
+ xbx = a3_getBX();
+ return(xbx);
+}
+
+INT c_getCF()
+{
+ INT xcf;
+
+ xcf = a3_getCF();
+ return(xcf);
+}
+
+half_word c_getCH()
+{
+ half_word xch;
+ xch = a3_getCH();
+ return(xch);
+}
+
+half_word c_getCL()
+{
+ half_word xcl;
+ xcl = a3_getCL();
+ return(xcl);
+}
+
+word c_getCS()
+{
+ word xcs;
+ xcs = a3_getCS();
+ return(xcs);
+}
+
+word c_getCX()
+{
+ word xcx;
+ xcx = a3_getCX();
+ return(xcx);
+}
+
+half_word c_getDH()
+{
+ half_word xdh;
+ xdh = a3_getDH();
+ return(xdh);
+}
+
+word c_getDI()
+{
+ word xdi;
+ xdi = a3_getDI();
+ return(xdi);
+}
+
+half_word c_getDL()
+{
+ half_word xdl;
+ xdl = a3_getDL();
+ return(xdl);
+}
+
+word c_getDS()
+{
+ word xds;
+ xds = a3_getDS();
+ return(xds);
+}
+
+word c_getDX()
+{
+ word xdx;
+ xdx = a3_getDX();
+ return(xdx);
+}
+
+word c_getES()
+{
+ word xes;
+ xes = a3_getES();
+ return(xes);
+}
+
+word c_getSI()
+{
+ word xsi;
+ xsi = a3_getSI();
+ return(xsi);
+}
+
+word c_getSP()
+{
+ word xsp;
+ xsp = a3_getSP();
+ return(xsp);
+}
+
+word c_getIP()
+{
+ word xip;
+ xip = a3_getIP();
+ return(xip);
+}
+
+word c_getSS()
+{
+ word xss;
+ xss = a3_getSS();
+ return(xss);
+}
+
+word c_getGS()
+{
+#ifndef PROD
+ printf("NO NO NO NO NO getGS - I'm not a 386\n");
+#endif
+ return(0);
+}
+
+word c_getFS()
+{
+#ifndef PROD
+ printf("NO NO NO NO NO getFS - I'm not a 386\n");
+#endif
+ return(0);
+}
+
+word c_getAF()
+{
+ return(a3_getAF());
+}
+
+word c_getDF()
+{
+ return(a3_getDF());
+}
+
+word c_getIF()
+{
+ return(a3_getIF());
+}
+
+word setMSW()
+{
+ return(a3_p_setMSW());
+}
+
+word c_getOF()
+{
+ return(a3_getOF());
+}
+
+word c_getPF()
+{
+ return(a3_getPF());
+}
+
+word c_getSF()
+{
+ return(a3_getSF());
+}
+
+word c_getZF()
+{
+ return(a3_getZF());
+}
+void c_setAL(val)
+half_word val;
+{
+ a3_setAL(val);
+}
+
+void c_setAH(val)
+half_word val;
+{
+ a3_setAH(val);
+}
+
+void c_setAX(val)
+word val;
+{
+ a3_setAX(val);
+}
+
+void c_setBP(val)
+word val;
+{
+ a3_setBP(val);
+}
+
+void c_setBL(val)
+half_word val;
+{
+ a3_setBL(val);
+}
+
+void c_setBH(val)
+half_word val;
+{
+ a3_setBH(val);
+}
+
+void c_setBX(val)
+word val;
+{
+ a3_setBX(val);
+}
+
+void c_setCF(val)
+INT val;
+{
+ a3_setCF(val);
+}
+
+void c_setCH(val)
+half_word val;
+{
+ a3_setCH(val);
+}
+
+void c_setCL(val)
+half_word val;
+{
+ a3_setCL(val);
+}
+
+void c_setCX(val)
+word val;
+{
+ a3_setCX(val);
+}
+
+void c_setDH(val)
+half_word val;
+{
+ a3_setDH(val);
+}
+
+void c_setDL(val)
+half_word val;
+{
+ a3_setDL(val);
+}
+
+void c_setDX(val)
+word val;
+{
+ a3_setDX(val);
+}
+
+void c_setSI(val)
+word val;
+{
+ a3_setSI(val);
+}
+
+void c_setDI(val)
+word val;
+{
+ a3_setDI(val);
+}
+
+
+void c_setAF(word val)
+{
+ a3_setAF(val);
+}
+
+void c_setIF(word val)
+{
+ a3_setIF(val);
+}
+
+void c_setOF(word val)
+{
+ a3_setOF(val);
+}
+
+void c_setPF(word val)
+{
+ a3_setPF(val);
+}
+
+void c_setSF(word val)
+{
+ a3_setSF(val);
+}
+
+void c_setMSW(word val)
+{
+ a3_p_setMSW(val);
+}
+
+void c_setZF(word val)
+{
+ a3_setZF(val);
+}
+
+void c_setIP(word val)
+{
+ a3_setIP(val);
+}
+
+void c_setDF(word val)
+{
+ a3_setDF(val);
+}
+void c_setSP(val)
+word val;
+{
+ a3_setSP(val);
+}
+
+INT c_setSS(val)
+word val;
+{
+ return(a3_setSS(val));
+}
+
+INT c_setES(val)
+word val;
+{
+ return(a3_setES(val));
+}
+
+INT c_setDS(val)
+word val;
+{
+ return(a3_setDS(val));
+}
+
+INT c_setCS(val)
+word val;
+{
+ return(a3_setCS(val));
+}
+
+INT c_setGS(val)
+word val;
+{
+#ifndef PROD
+ printf("NO NO NO NO NO setGS - I'm not a 386\n");
+#endif
+ return(0);
+}
+
+INT c_setFS(val)
+word val;
+{
+#ifndef PROD
+ printf("NO NO NO NO NO setFS - I'm not a 386\n");
+#endif
+ return(0);
+}
+#endif /* CCPU */
+
+
+// these two crept into WOW - they are x86 monitor'isms
+
+word getEIP()
+{
+ return(a3_getIP());
+}
+
+void setEIP(val)
+word val;
+{
+ a3_setIP(val);
+}
+
+#endif // A3CPU
+#endif // !MONITOR