File: BE.TK of Disk: Disks/MyPDP/m8-blue-rka1-rkb1
(Source file text)
/BE.TK 3-MAR-80 / /BACKGROUND ERROR PRINTER. IS CALLED BY EITHER THE INPUT READER /OR THE CONTROL-B MODULE. WILL DISPLAY THE STATUS OF THE /INDICATED BG-MACHINE. ON ENTRY THE AC CONTAINS A POINTER TO /THE BG-DATA AREA. BE WILL DISPLAY A LINE LIKE: / /PC=15436 AC=13045 DF=1 MQ=0007 GT=0 SW=1234 /BG=3 FLDS=07032000 TRAPPED 7402 (HALT) / /THE OUTPUT OF THIS MODULE GOES VIA FILLQ INTO /THE BG-OUTPUT BUFFER. BEBASE, "B^100+"E&3777 /NAME= "BE" 400 /TWO PAGES, NO CONNECTS BEPNT, BETABL XBTYPE, BETYPE BECNT, 0 BE, DCA BEBASE CDTOIF JMS BESTRNG /PRINT "PC=", GET FIELDS WORD UFLDS CLL RTR RAR JMS BEDGT /TYPE INSTRUCTION FIELD JMS BEGET UPC JMS BEOCT /TYPE PC JMS BESTRNG /TYPE "AC=", GET FIELDS WORD UFLDS SPA CLA AC0001 JMS BEDGT /TYPE LINK JMS BEGET UAC JMS BEOCT /TYPE ACCUMULATOR JMS BESTRNG /PRINT "DF=", GET FIELDS WORD UFLDS JMS BEDGT /TYPE A DIGIT JMS BESTRNG /TYPE " MQ=", GET UMQ C1, UMQ JMS BEOCT /TYPE MQ JMS BESTRNG /PRINT "GT=", GET UFLDS UFLDS RAL SPA CLA AC0001 JMS BEDGT /TYPE A DIGIT JMS BESTRNG /TYPE " SW=", GET VIRTUAL SWITCH REG. USW JMS BEOCT JMS BESTRNG /PRINT "<CR><LF>BG=", GET UNUMB UNUMB CLL RTR RAR JMS BEDGT /TYPE A DIGIT REPRESENTING BG NUMBER JMS BESTRNG /PRINT " FLDS=" MHALT, -HLT /IGNORE BEGET PART CLA FLDSLP, JMS BEGET /GET A REAL FIELD UFLD0 CLL RTR RAR JMS BEDGT /PRINT IT (1 DIGIT, 0=NOT-RESIDENT) ISZ FLDSLP+1 /ONCE ONLY CODE ISZ FLDCNT /MORE FIELDS? JMP FLDSLP /YES JMS BESTRNG /PRINT " TRAPPED " UINST JMS BEOCT JMS BEGET /GET UINST UINST AND (7403 TAD MHALT /WAS IT SOME HALT? SNA CLA JMP BEHALT /YES JMS BESKIP /NO, SKIP 'HALT' JMS BEGET 0 /GET STATUS AND C3 /(BGERR+SWPERR SNA JMP BEEND /NONE OF THESE AND C1 SNA CLA JMS BESKIP /SKIP PAST 'SWAP ERROR' BEHALT, JMS BESTRNG /TYPE (SWAP ERROR) OR (EMULATION ERROR) FLDCNT, -BGCORE /OR (HALT) (IGNORE THE BEGET PART) BEEND, AC0001 /STAY IN ^B MODE JMS MONITOR EXIT SWPOUT /I HOPE YOU DON'T NEED IT OFTEN BEAC, BESTRNG,0 /ROUTINE TO PRINT A NUMBER OF STRINGS BESTR0, TAD I BEPNT /FETCH NEXT CHARACTER ISZ BEPNT /NOT RESTARTABLE ! SPA /NEGATIVE CHARACTER IS LAST ONE JMP BESTR1 JMS I XBTYPE JMP BESTR0 BESTR1, JMS I XBTYPE /PRINT LAST CHAR TAD BESTRNG DCA BEGET JMP BEGET+1 /CHAIN TO BEGET BESKIP, 0 CDTOIF TAD I BEPNT ISZ BEPNT SMA CLA JMP .-3 JMP I BESKIP BEOCT, 0 /ROUTINE TO PRINT AC IN OCTAL DCA BEAC TAD M4 DCA BECNT BEOCT1, TAD BEAC RTL RAL DCA BEAC TAD BEAC RAL JMS BEDGT /TYPE A DIGIT ISZ BECNT JMP BEOCT1 TAD C240 JMS I XBTYPE JMP I BEOCT BEDGT, 0 AND C7 TAD C260 JMS I XBTYPE JMP I BEDGT BEGET, 0 /ROUTINE TO FETCH A WORD FROM BG-DATA TAD BEBASE CDTOIF TAD I BEGET CDF 10 ISZ BEGET JMS DEFER CDTOIF JMP I BEGET PAGE YBBASE, BEBASE YBEGET, BEGET BETEMP, 0 BETYPE, 0 /ROUTINE TO PUT ONE CHAR. IN OUTPUT BUFFER DCA BETEMP BETYP1, TAD I YBBASE DCA BASE TAD BETEMP CDTOIF CIF 10 JMS I (FILLQ /USES BASE ! UBUFOUT SNA CLA /BUFFER FULL JMP I BETYPE /OK, RETURN JMS I YBEGET UWRTR DCA .+3 JMS MONITOR /RUN OUTPUT WRITER RUN 0 NOP JMP BETYP1 /RETRY BETABL, 215;212;207;"P;"C;"=+4000 "A;"C;"=+4000 "D;"F;"=+4000 " ;"M;"Q;"=+4000 "G;"T;"=+4000 " ;"S;"W;"=+4000 IFZERO GERMAN < 215;212;"P;"A;"R;"T;"I;"T;"I;"O;"N;" ;"#+4000 " ;"F;"I;"E;"L;"D;"S;":+4000 " ;"T;"R;"A;"P;":+4000 "(;"H;"A;"L;"T;")+4000 "(;"S;"W;"A;"P;" ;"E;"R;"R;"R;"O;"R;")+4000 "(;"E;"M;"U;"L;"A;"T;"I;"O;"N;" ;"E;"R;"R;"O;"R;")+4000 > IFNZRO GERMAN < 215;212;"B;"E;"R;"E;"I;"C;"H;" ;"#+4000 " ;"F;"E;"L;"D;"E;"R;":+4000 " ;"F;"A;"L;"L;"E;":+4000 "(;"H;"A;"L;"T;")+4000 "(;"S;"W;"A;"P;"-;"F;"E;"H;"L;"E;"R;")+4000 "(;"E;"M;"U;"L;"A;"T;"I;"O;"N;"S;"-;"F;"E;"H;"L;"E;"R;")+4000 > $