diff --git a/lang/a68s/aem/Makefile b/lang/a68s/aem/Makefile index 13407db87..1affb0f6d 100644 --- a/lang/a68s/aem/Makefile +++ b/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 diff --git a/lang/a68s/aem/a68s1ce.p b/lang/a68s/aem/a68s1ce.p index 68b9dccef..62b6f1fd2 100644 --- a/lang/a68s/aem/a68s1ce.p +++ b/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; diff --git a/lang/a68s/aem/make b/lang/a68s/aem/make index cad271dc0..93ab0c219 100755 --- a/lang/a68s/aem/make +++ b/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 ;; \