;THEN THE JOB IS STOPPED AND CONSOLE IS RETURNED TO\r
;MONITOR COMMAND MODE\r
\r
-\r
;APR DETECTED ERRORS\r
;PUSHDOWN OVERFLOW,ILLEGAL MEMORY, NONEXISTENT MEMORY\r
;FOR WHICH THE USER IS NOT ENABLED.\r
; RETURN TO RESCHEDULE NEW USER\r
\r
INTERNAL APRILM\r
-EXTERNAL USRREL,CONMES,HOLD,INLMES,JOBN,PJOBN,PRQM\r
+EXTERNAL USRREL,APRPC\r
+EXTERNAL APRERR,CONMES,HOLD,INLMES,JOBN,PJOB,PRQM\r
EXTERNAL STOP1,TTYFUW,USRXIT,UUO0,WSCHED\r
\r
APRILM: SETZM APRERR ;CLEAR FLAG IMMEDIATELY,IN CASE OTHER ERRORS OCCUR\r
APRILR: JSP TAC,ERRPTU\r
ASCIZ /ILL MEM REF/\r
JRST APRSCD ;PRINT LOC, THEN STOP JOB\r
-\r
-\fAPRNXM: TRNN TAC,NXM ;NON-EX MEM?\r
+\f\r
+APRNXM: TRNN TAC,NXM ;NON-EX MEM?\r
JRST APRPDL ;NO\r
JSP TAC,ERRPTU ;YES\r
ASCIZ /NON EX MEM/\r
JSP DAT,UERROR ;NO, MUST BE HARDWARE PROBLEM\r
JSP TAC,ERRPTU ;YES\r
ASCIZ /PDL OV/\r
-ASPSC: MOVE TAC1,APRPO ;PRINT APR PC\r
+APRSCD: MOVE TAC1,APRPC ;PRINT APR PC\r
JRST PCPNT ;AS:\r
; 1)"AT USER LOC XXX" OR\r
; 2)"AT EXEC LOC XXX; EXEC CALLED FROM \r
; EXEC/USER LOC YYY\r
-\f;ADDRESS CHECK ERROR AT ANY LEVEL\r
+\f\r
+;ADDRESS CHECK ERROR AT ANY LEVEL\r
;DEVDAT MUST BE SET UP TO POINT TO OFFENDING DEVICE\r
\r
INTERNAL ADRERR\r
PUSHJ PDP,ERNAM ;PRINT "DEVICE XXX"\r
JSP TAC,UUOMES ;PRINT MESSAGE,UUOPC,STOP JOB\r
ASCIZ / CANNOT DO INPUT/\r
-\f;OUTPUT UUO FOR INPUT DEVICE\r
+\f\r
+;OUTPUT UUO FOR INPUT DEVICE\r
;CALLED AT UUO LEVEL ONLY\r
\r
INTERNAL ILLOUT\r
HALT .+1 ;YES, HALT SO DUMP CAN BE TAKEN\r
; CONTINUE WILL PRINT MESSAGE\r
>\r
- SOSJ TAC1,PCPNT ;AND PRINT, PRINT USER UUO PC IF DIFF.\r
+ SOJA TAC1,PCPNT ;AND PRINT, PRINT USER UUO PC IF DIFF.\r
\r
;ILLEGAL INSTRUCTION\r
\r
\r
DEVEXC: PUSHJ PDP,ERNAM ;PRINT "DEVICE XXX"\r
JRST EXCALP ;PRINT "EXEC CALLED FROM EXEC/USER LOC YYY"\r
-\f;ROUTINE TO HALT A JOB WHEN A DEVICE IS NOT READY FOR I/O\r
+\r
+\f\r
+;ROUTINE TO HALT A JOB WHEN A DEVICE IS NOT READY FOR I/O\r
;CALLED FROM XXSER AT UUO LEVEL\r
;CALL MOVE DEVDAT,ADDR. OF DEV. DDB\r
; PUSHJ PDP,HNGSTP\r
HNGSTP: PUSH PDP,ITEM\r
PUSH PDP,IOS\r
PUSH PDP,DEVDAT ;SAVE DEV'S IOS WORD & DDB\r
- PUSHJ PDP,TTYFUN ;FIND JOB'S TTY & WAIT UNTIL I/O IS FINISHED\r
+ PUSHJ PDP,TTYFUW ;FIND JOB'S TTY & WAIT UNTIL I/O IS FINISHED\r
PUSHJ PDP,PRQM ;PRINT QUESTION MARK FOR BATCH\r
PUSHJ PDP,ERNAM ;PRINT "DEVICE XXX"\r
PUSHJ PDP,INLMES ;AND MSG.\r
-ASCIZ /OK?\r
+ASCIZ / OK?\r
^C\r
\r
-./ PUSHJ PDP,TTYSTC ;START UP TTY IN COMMAND MODE\r
+./\r
+ PUSHJ PDP,TTYSTC ;START UP TTY IN COMMAND MODE\r
POP PDP,DEVDAT ;BRING BACK DEV DDB & IOS WORD\r
POP PDP,IOS\r
PUSHJ PDP,STOP1 ;STOP JOB &\r
POP PDP,ITEM\r
JRST WSCHED ;RESCHEDULE\r
-\f;COMMON ERROR MESSAGE SETUP ROUTINES\r
+\f\r
+;COMMON ERROR MESSAGE SETUP ROUTINES\r
;CALL: JSP TAC,ERRPTU, ERRDEV, OR ERRPNT\r
; ASCIZ /MESSAGE/\r
; RETURNS HERE WITH DEVDAT SAVED 0(PDP)\r
\r
ERRPTU: SKIPA ITEM,JOB ;BLAME CURRENT JOB IS NOT 0.\r
ERRDEV: LDB ITEM,PJOBN ;JOB NO, FROM DEVICE DATA BLOCK\r
-ERRPNT: SKIPM ITEM ;ERROR IN NULL JOB?\r
+ERRPNT: SKIPN ITEM ;ERROR IN NULL JOB?\r
SETOM NULERR ;YES, SET FLAG FOR ERROR IN NULL JOB\r
; SO STATE OF NULL JOB WILL BE REESTABLISHED\r
; WHEN IS IT RUN AGAIN(SEE CLOCK1)\r
PCSTOP: PUSHJ PDP,HOLD ;STOP JOB, START TTY AND SET JOB ERROR BIT\r
POP PDP,DEVDAT ;RETURN ONLY IF AT INTERRUPT LEVEL\r
JRST TPOPJ ;REMOVE ERROR CALL AND RETURN\r
-\f;ROUTINE TO PRINT PC AS:\r
+\f\r
+;ROUTINE TO PRINT PC AS:\r
;1) "EXEC LOC XXX" OR "USER LOC XXX"\r
;CALL: MOVE TAC1,PC TO PRINT(LH=PC FLAGS)\r
; PUSHJ PDP,PCP\r
HRRZ TAC,TAC1 ;PRINT RIGHT HALF IN OCTAL\r
; FALL INTO OCTPNT\r
\r
+\r
INTERN OCTPNT\r
\r
;ROUTINE TO PRINT 6 DIGIT OCTAL NUMBER\r
HRLM TAC1,(PDP) ;RT ON PD LIST\r
JUMPE TAC,.+2 ;FINISHED?\r
PUSHJ PDP,PRTDIG ;NO, CALL S OR F\r
- HRLZ TAC,(PDP) ;YES, GET LAST NUMBER\r
+ HLRZ TAC,(PDP) ;YES, GET LAST NUMBER\r
PRTNUM: ADDI TAC,"0" ;CONVERT TO ASCIZ\r
IFN FTTTYSER,<\r
EXTERN OUTCHS\r
JRST OUTCHS ;AND OUTPUT IN SCNSRF\r
>\r
IFE FTTTYSER,<\r
-\r
IDPB TAC,DAT ;ADD CHAR TO HALGF DUPLEX OUTPUT STREAM\r
POPJ PDP,\r
>\r
-\f;ROUTINE TO PRINT "DEVICE XXX"\r
+\f\r
+;ROUTINE TO PRINT "DEVICE XXX"\r
;CALL MOVE DAT,ASCII OUTPUT BYTE POINTER\r
; PUSH PDP,DEVDAT\r
; PUSHJ PDP,ERNAM\r
SKIPE TAC1,-1(PDP) ;IS DEVDAT = 0?\r
MOVE TAC1,DEVNAM(TAC1) ;NO, GET DEVICE NAME\r
\r
+\r
;ROUTINE TO PRINT SIXBIT NAME\r
;CALL MOVE DAT,ASCII OUTPUT BYTE POINTER\r
; MOVE TAC1,NAME\r