X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/blobdiff_plain/cda2ba6d27526e5ef6f27f7b3391cfb55055bf2e..8975ed2f727e4bb0190f22b1401821e5981cf7c2:/src/errcon.mac diff --git a/src/errcon.mac b/src/errcon.mac index 057ec28..87d85da 100644 --- a/src/errcon.mac +++ b/src/errcon.mac @@ -11,7 +11,6 @@ ERRCON: ;THEN THE JOB IS STOPPED AND CONSOLE IS RETURNED TO ;MONITOR COMMAND MODE - ;APR DETECTED ERRORS ;PUSHDOWN OVERFLOW,ILLEGAL MEMORY, NONEXISTENT MEMORY ;FOR WHICH THE USER IS NOT ENABLED. @@ -21,7 +20,8 @@ ERRCON: ; RETURN TO RESCHEDULE NEW USER INTERNAL APRILM -EXTERNAL USRREL,CONMES,HOLD,INLMES,JOBN,PJOBN,PRQM +EXTERNAL USRREL,APRPC +EXTERNAL APRERR,CONMES,HOLD,INLMES,JOBN,PJOB,PRQM EXTERNAL STOP1,TTYFUW,USRXIT,UUO0,WSCHED APRILM: SETZM APRERR ;CLEAR FLAG IMMEDIATELY,IN CASE OTHER ERRORS OCCUR @@ -44,8 +44,8 @@ IFN FT2REL,< APRILR: JSP TAC,ERRPTU ASCIZ /ILL MEM REF/ JRST APRSCD ;PRINT LOC, THEN STOP JOB - - APRNXM: TRNN TAC,NXM ;NON-EX MEM? + +APRNXM: TRNN TAC,NXM ;NON-EX MEM? JRST APRPDL ;NO JSP TAC,ERRPTU ;YES ASCIZ /NON EX MEM/ @@ -55,12 +55,13 @@ APRPDL: TRNN TAC,POV ;PUSHDOWN OVERFLOW? JSP DAT,UERROR ;NO, MUST BE HARDWARE PROBLEM JSP TAC,ERRPTU ;YES ASCIZ /PDL OV/ -ASPSC: MOVE TAC1,APRPO ;PRINT APR PC +APRSCD: MOVE TAC1,APRPC ;PRINT APR PC JRST PCPNT ;AS: ; 1)"AT USER LOC XXX" OR ; 2)"AT EXEC LOC XXX; EXEC CALLED FROM ; EXEC/USER LOC YYY - ;ADDRESS CHECK ERROR AT ANY LEVEL + +;ADDRESS CHECK ERROR AT ANY LEVEL ;DEVDAT MUST BE SET UP TO POINT TO OFFENDING DEVICE INTERNAL ADRERR @@ -110,7 +111,8 @@ ILLINP: JSP TAC,ERRPTU PUSHJ PDP,ERNAM ;PRINT "DEVICE XXX" JSP TAC,UUOMES ;PRINT MESSAGE,UUOPC,STOP JOB ASCIZ / CANNOT DO INPUT/ - ;OUTPUT UUO FOR INPUT DEVICE + +;OUTPUT UUO FOR INPUT DEVICE ;CALLED AT UUO LEVEL ONLY INTERNAL ILLOUT @@ -151,7 +153,7 @@ IFN FTHALT,< HALT .+1 ;YES, HALT SO DUMP CAN BE TAKEN ; CONTINUE WILL PRINT MESSAGE > - SOSJ TAC1,PCPNT ;AND PRINT, PRINT USER UUO PC IF DIFF. + SOJA TAC1,PCPNT ;AND PRINT, PRINT USER UUO PC IF DIFF. ;ILLEGAL INSTRUCTION @@ -213,7 +215,9 @@ INTERNAL DEVEXC DEVEXC: PUSHJ PDP,ERNAM ;PRINT "DEVICE XXX" JRST EXCALP ;PRINT "EXEC CALLED FROM EXEC/USER LOC YYY" - ;ROUTINE TO HALT A JOB WHEN A DEVICE IS NOT READY FOR I/O + + +;ROUTINE TO HALT A JOB WHEN A DEVICE IS NOT READY FOR I/O ;CALLED FROM XXSER AT UUO LEVEL ;CALL MOVE DEVDAT,ADDR. OF DEV. DDB ; PUSHJ PDP,HNGSTP @@ -223,20 +227,22 @@ INTERNAL HNGSTP HNGSTP: PUSH PDP,ITEM PUSH PDP,IOS PUSH PDP,DEVDAT ;SAVE DEV'S IOS WORD & DDB - PUSHJ PDP,TTYFUN ;FIND JOB'S TTY & WAIT UNTIL I/O IS FINISHED + PUSHJ PDP,TTYFUW ;FIND JOB'S TTY & WAIT UNTIL I/O IS FINISHED PUSHJ PDP,PRQM ;PRINT QUESTION MARK FOR BATCH PUSHJ PDP,ERNAM ;PRINT "DEVICE XXX" PUSHJ PDP,INLMES ;AND MSG. -ASCIZ /OK? +ASCIZ / OK? ^C -./ PUSHJ PDP,TTYSTC ;START UP TTY IN COMMAND MODE +./ + PUSHJ PDP,TTYSTC ;START UP TTY IN COMMAND MODE POP PDP,DEVDAT ;BRING BACK DEV DDB & IOS WORD POP PDP,IOS PUSHJ PDP,STOP1 ;STOP JOB & POP PDP,ITEM JRST WSCHED ;RESCHEDULE - ;COMMON ERROR MESSAGE SETUP ROUTINES + +;COMMON ERROR MESSAGE SETUP ROUTINES ;CALL: JSP TAC,ERRPTU, ERRDEV, OR ERRPNT ; ASCIZ /MESSAGE/ ; RETURNS HERE WITH DEVDAT SAVED 0(PDP) @@ -256,7 +262,7 @@ IFN FTTTYSER, ERRPTU: SKIPA ITEM,JOB ;BLAME CURRENT JOB IS NOT 0. ERRDEV: LDB ITEM,PJOBN ;JOB NO, FROM DEVICE DATA BLOCK -ERRPNT: SKIPM ITEM ;ERROR IN NULL JOB? +ERRPNT: SKIPN ITEM ;ERROR IN NULL JOB? SETOM NULERR ;YES, SET FLAG FOR ERROR IN NULL JOB ; SO STATE OF NULL JOB WILL BE REESTABLISHED ; WHEN IS IT RUN AGAIN(SEE CLOCK1) @@ -328,7 +334,8 @@ EXCALP: PUSHJ PDP,INLMES PCSTOP: PUSHJ PDP,HOLD ;STOP JOB, START TTY AND SET JOB ERROR BIT POP PDP,DEVDAT ;RETURN ONLY IF AT INTERRUPT LEVEL JRST TPOPJ ;REMOVE ERROR CALL AND RETURN - ;ROUTINE TO PRINT PC AS: + +;ROUTINE TO PRINT PC AS: ;1) "EXEC LOC XXX" OR "USER LOC XXX" ;CALL: MOVE TAC1,PC TO PRINT(LH=PC FLAGS) ; PUSHJ PDP,PCP @@ -344,6 +351,7 @@ PCP: MOVEI TAC,XMODE ;ASSUME PC IN EXEC MODE HRRZ TAC,TAC1 ;PRINT RIGHT HALF IN OCTAL ; FALL INTO OCTPNT + INTERN OCTPNT ;ROUTINE TO PRINT 6 DIGIT OCTAL NUMBER @@ -388,7 +396,7 @@ PRTDIG: IDIVI TAC,12 ;DIVIDE BY 10 HRLM TAC1,(PDP) ;RT ON PD LIST JUMPE TAC,.+2 ;FINISHED? PUSHJ PDP,PRTDIG ;NO, CALL S OR F - HRLZ TAC,(PDP) ;YES, GET LAST NUMBER + HLRZ TAC,(PDP) ;YES, GET LAST NUMBER PRTNUM: ADDI TAC,"0" ;CONVERT TO ASCIZ IFN FTTTYSER,< EXTERN OUTCHS @@ -396,11 +404,11 @@ EXTERN OUTCHS JRST OUTCHS ;AND OUTPUT IN SCNSRF > IFE FTTTYSER,< - IDPB TAC,DAT ;ADD CHAR TO HALGF DUPLEX OUTPUT STREAM POPJ PDP, > - ;ROUTINE TO PRINT "DEVICE XXX" + +;ROUTINE TO PRINT "DEVICE XXX" ;CALL MOVE DAT,ASCII OUTPUT BYTE POINTER ; PUSH PDP,DEVDAT ; PUSHJ PDP,ERNAM @@ -412,6 +420,7 @@ ERNAM: PUSHJ PDP,INLMES SKIPE TAC1,-1(PDP) ;IS DEVDAT = 0? MOVE TAC1,DEVNAM(TAC1) ;NO, GET DEVICE NAME + ;ROUTINE TO PRINT SIXBIT NAME ;CALL MOVE DAT,ASCII OUTPUT BYTE POINTER ; MOVE TAC1,NAME