diff --git a/mmixlib/Makefile b/mmixlib/Makefile index 76ad9cc13d9b560198db55cbf44faa48cf4414ed..7dda3075c065be149de5b40d865a8acea14ea239 100644 --- a/mmixlib/Makefile +++ b/mmixlib/Makefile @@ -1,7 +1,11 @@ # the directory with the MMIXware sources MMIXWARE=./mmixware -INCLDIR=-I ../../vmb/src/util -I ../../vmb/src/vmbmmixlib -LIBDIR=-L. -L../../vmb/src/util -L../../vmb/src/vmbmmixlib +#INCLDIR=-I ../../vmb/src/util -I ../../vmb/src/vmbmmixlib +#LIBDIR=-L. -L../../vmb/src/util -L../../vmb/src/vmbmmixlib +#INCLDIR=-I +#LIBDIR=-L. + + LIBSIM= libboot.c libfinal.c libload.c libprint.c libstats.c \ libcommand.c libinit.c libmem.c libprofile.c libtrace.c \ @@ -36,20 +40,20 @@ abstime.h: $(MMIXWARE)/abstime.h cp $< $@ $(MMIXWARE)/abstime.h: $(MMIXWARE)/abstime - $(MAKE) -C mmix abstime + $(MAKE) -C mmixware abstime $(MMIXWARE)/abstime > $(MMIXWARE)/abstime.h mmix-arith.c: boilerplate.w $(MMIXWARE)/mmix-arith.w ctangle $(MMIXWARE)/mmix-arith.w -mmix-io.c: boilerplate.w $(MMIXWARE)/mmix-io.w - ctangle $(MMIXWARE)/mmix-io.w +mmix-io.c: boilerplate.w $(MMIXWARE)/mmix-io.w libio.ch + ctangle $(MMIXWARE)/mmix-io.w libio.ch $(LIBAL): boilerplate.w $(MMIXWARE)/mmixal.w mmixallib.ch ctangle $(MMIXWARE)/mmixal.w mmixallib.ch -$(LIBSIM) $(LIBH) mmix-sim.c: boilerplate.w $(MMIXWARE)/mmix-sim.w mmixlib.ch libconfig.h +$(LIBSIM) $(LIBH) mmix-sim.c: boilerplate.w $(MMIXWARE)/mmix-sim.w mmixlib.ch libconfig.h libimport.h ctangle $(MMIXWARE)/mmix-sim.w mmixlib.ch diff --git a/mmixlib/libio.ch b/mmixlib/libio.ch index d941292a8bf005892f5cf20067304477ba274f24..5863cb6a7273af03141c060deacff3848308986e 100644 --- a/mmixlib/libio.ch +++ b/mmixlib/libio.ch @@ -1,42 +1,43 @@ - + @x @@; @@; @@; @@; @@; - @y @@; +#ifdef WIN32 #pragma warning(disable : 4996 4267) +#endif #include "libconfig.h" @@; @@; @@; -#include "libimport.h" -@@; -@z - -@x +#include "libimport.h" +@@; +@z + +@x if (fwrite(buf,1,n,sfile[handle].fp)!=n) return ominus(zero_octa,size); - fflush(sfile[handle].fp); -@y -#ifdef MMIX_PRINT - if (sfile[handle].fp==stdout || sfile[handle].fp==stderr) - win32_log(buf); - else -#endif + fflush(sfile[handle].fp); +@y +#ifdef MMIX_PRINT + if (sfile[handle].fp==stdout || sfile[handle].fp==stderr) + win32_log(buf); + else +#endif { if (fwrite(buf,1,n,sfile[handle].fp)!=n) return ominus(zero_octa,size); fflush(sfile[handle].fp); - } -@z - -@x + } +@z + +@x if (fwrite(buf,1,n,sfile[handle].fp)!=n) return neg_one; -@y -#ifdef MMIX_PRINT - if (sfile[handle].fp==stdout || sfile[handle].fp==stderr) - win32_log(buf); +@y +#ifdef MMIX_PRINT + if (sfile[handle].fp==stdout || sfile[handle].fp==stderr) + win32_log(buf); else #endif if (fwrite(buf,1,n,sfile[handle].fp)!=n) return neg_one; @@ -54,9 +55,9 @@ @x if (fwrite(buf,1,n,sfile[handle].fp)!=n) return neg_one; @y -#ifdef MMIX_PRINT - if (sfile[handle].fp==stdout || sfile[handle].fp==stderr) - win32_log(buf); +#ifdef MMIX_PRINT + if (sfile[handle].fp==stdout || sfile[handle].fp==stderr) + win32_log(buf); else #endif if (fwrite(buf,1,n,sfile[handle].fp)!=n) return neg_one; diff --git a/mmixlib/mmixlib.ch b/mmixlib/mmixlib.ch index 23da7ebb4630c0e46803fcb3129446bdf2eb7bff..39f339168f067fb8e6c89937c4e028abfe7d3bff 100644 --- a/mmixlib/mmixlib.ch +++ b/mmixlib/mmixlib.ch @@ -878,7 +878,8 @@ Make sure we do not branch from a positive to a negative address. @x if (g[rI].l<=2 && g[rI].l && g[rI].h==0) tracing=breakpoint=true; @y - if (g[rI].l<=2 && g[rI].l && g[rI].h==0) g[rQ].l |= IN_BIT, new_Q.l |= IN_BIT, tracing=true, breakpoint|=trace_bit; + if (g[rI].l<=2 && g[rI].l && g[rI].h==0) + g[rQ].l |= IN_BIT, new_Q.l |= IN_BIT, tracing=true, breakpoint|=trace_bit; @z @@ -1893,7 +1894,8 @@ else @x if (g[rI].l<=info[op].oops && g[rI].l && g[rI].h==0) tracing=breakpoint=true; @y - if (g[rI].l<=info[op].oops && g[rI].l && g[rI].h==0) g[rQ].l |= IN_BIT, new_Q.l |= IN_BIT, tracing=true, breakpoint|=trace_bit; + if (g[rI].l<=info[op].oops && g[rI].l && g[rI].h==0) + g[rQ].l |= IN_BIT, new_Q.l |= IN_BIT, tracing=true, breakpoint|=trace_bit; @z @@ -1988,9 +1990,9 @@ void show_stats(verbose) #include "libarith.h" #include "libimport.h" -void show_stats @,@,@[ARGS((int))@];@+@t}\6{@> +void show_stats @,@,@[ARGS((bool))@];@+@t}\6{@> void show_stats(verbose) - int verbose; + bool verbose; @z @@ -2522,7 +2524,7 @@ BOOL CtrlHandler( DWORD fdwCtrlType ) void catchint @,@,@[ARGS((int))@];@+@t}\6{@> void catchint(n) int n; -{ MMIX_CTRL_HANDLER +{ MMIX_CTRL_HANDLER; interrupt=true; signal(SIGINT,catchint); /* now |catchint| will catch the next interrupt */ }