Преглед на файлове

replaced some BSS by CON; The order in memory is important!
Adapted to our installation

ceriel преди 35 години
родител
ревизия
8d664a267e
променени са 3 файла, в които са добавени 16 реда и са изтрити 18 реда
  1. 1 1
      lang/a68s/aem/Makefile
  2. 11 11
      lang/a68s/aem/a68s1ce.p
  3. 4 6
      lang/a68s/aem/make

+ 1 - 1
lang/a68s/aem/Makefile

@@ -3,7 +3,7 @@ ACK=$(EMROOT)/bin/$(MACH)
 A68S=$(EMROOT)/lib/em_a68s$(w)$(p)
 A68INIT=$(EMROOT)/lib/em_a68s_init$(w)$(p)
 PC=$(ACK) -.p -PR$(EMROOT)/lang/a68s/cpem/cpem 
-PCFLAGS=-v -e -L
+PCFLAGS=-v -e -L -fp
 UTIL=../util
 TAILOR=$(UTIL)/tailor
 CHECKSEQ=$(UTIL)/checkseq

+ 11 - 11
lang/a68s/aem/a68s1ce.p

@@ -1737,22 +1737,22 @@
 44979      END;
 44980  (**)
 44981  PROCEDURE EMITEND;
+44982  VAR I: INTEGER;
 44990      BEGIN
 44991      IF DATASTATE=ENDDATA THEN DATASTATE := STARTDATA;
 44992      EMITXWORD(OCVIMMED, 0); WRITEINSTN(EOOPNDS); (*TO ENSURE THAT ANY OUTSTANDING DATA LABELS SEE CON RATHER THAN BSS*)
 44995      WRITELABEL(TRUE,HOLBOTTOM);
-45000      WRITEINSTN(BSS);
-45010      EMITXWORD(OCVIMMED,ROUTNL^.RNLENIDS+SIZIBTOP+SZWORD+FIRSTIBOFFSET);
-45015 (*-24()WRITE(LGO,','); ()-24*)
-45020      EMITXWORD(OCVIMMED,-32000-768); (*-24() WRITE(LGO,','); ()-24*)
-45022      EMITXWORD(OCVIMMED,0);
-45024      (*-24() WRITEINSTN(EOOPNDS); ()-24*) WRITELABEL(TRUE,HOLTOP);
-45026      WRITEINSTN(BSS);
-45028      EMITXWORD(OCVIMMED,0);(*-24() WRITE(LGO,','); ()-24*)
-45030      EMITXWORD(OCVIMMED,-32000-768); (*-24() WRITE(LGO,','); ()-24*)
-45032      EMITXWORD(OCVIMMED,0); (*-24() WRITEINSTN(EOOPNDS); ()-24*)
+44996	   I := ROUTNL^.RNLENIDS+SIZIBTOP+SZWORD+FIRSTIBOFFSET;
+45000      REPEAT
+45010          WRITEINSTN(CON);
+45015	       WRITECON(CPACTCONS, SZWORD, 0);
+45020          I := I - SZWORD;
+45021          WRITEINSTN(EOOPNDS);
+45022      UNTIL I <= 0;
+45024      WRITELABEL(TRUE,HOLTOP);
+45026      WRITEINSTN(CON); WRITECON(CPACTCONS, SZWORD, 0); WRITEINSTN(EOOPNDS);
 45034      WRITEINSTN(HOL); (*DUMMY HOL FOR RUNTIME AND FILE ACCESS*)
-45036      EMITXWORD(OCVIMMED,0);(*-24() WRITE(LGO,','); ()-24*)
+45036      EMITXWORD(OCVIMMED,SZWORD);(*-24() WRITE(LGO,','); ()-24*)
 45038      EMITXWORD(OCVIMMED,-32000-768); (*-24() WRITE(LGO,','); ()-24*)
 45040      EMITXWORD(OCVIMMED,0);(*-24() WRITEINSTN(EOOPNDS); ()-24*)
 45041      DATASTATE := ENDDATA;

+ 4 - 6
lang/a68s/aem/make

@@ -15,14 +15,12 @@ esac
 MACH=${MACH-$ACM}
 		case $MACH in \
 		pdp)	w=2; p=2; NOFLOAT=0; RECIPE='12 13 119' ;; \
-		m68k2)	w=2; p=4; NOFLOAT=1; RECIPE='12 113 19 43 44' ;; \
-		moon3)	w=2; p=4; NOFLOAT=1; RECIPE='12 113 19 43 44'; BSD4=-DBSD4 ;; \
-		m68020|m68000)	w=4; p=4; NOFLOAT=1; RECIPE='112 13 119 43 44' ;; \
-		sun3)	w=4; p=4; NOFLOAT=1; RECIPE='112 13 119 43 44'; BSD4=-DBSD4 ;; \
+		m68k2)	w=2; p=4; NOFLOAT=0; RECIPE='12 113 19' ;; \
+		moon3)	w=2; p=4; NOFLOAT=0; RECIPE='12 113 19'; BSD4=-DBSD4 ;; \
+		m68020|m68000)	w=4; p=4; NOFLOAT=0; RECIPE='112 13 119' ;; \
+		sun3)	w=4; p=4; NOFLOAT=0; RECIPE='112 13 119'; BSD4=-DBSD4 ;; \
 		vax4)	w=4; p=4; NOFLOAT=0; RECIPE='112 13 119'; BSD4=-DBSD4 ;; \
 		*)	echo machine $MACH not known to a68s; exit 1 ;; \
 		esac
 		/bin/make -f Makefile MACH=$MACH w=$w p=$p NOFLOAT=$NOFLOAT \
 			RECIPE="$RECIPE" BSD4=$BSD4 $*
-
-#		sun3)	w=4; p=4; NOFLOAT=0; RECIPE='112 13 119'; BSD4=-DBSD4 ;; \