Trailing-Edge
-
PDP-10 Archives
-
BB-L014E-BM
-
autopatch/isam.c05
There are 2 other files named isam.c05 in the archive. Click here to see a list.
REP 28/1 ;05C1
EDIT==203
WIT
EDIT==206
DEL 32/1 ;05C2
INS 6/2 ;05C3
;.COMPONENT ISAM
REP 9/2 ;05C4
;.EDIT 203 PRINT KEY VALUE FOR DUP OR KEYS OUT OF ORDER MSG
; LEM,22-JAN-82,SPR:NONE
; A:SRC ISAM
WIT
;.EDIT 200 RESTORE .FBSIZE TO + INFINITY FOR COBOL-20
; HAM/JM,11-SEP-81,SPR:NONE
; A:SRC ISAM
;
;;.EDIT 201 DEVELOPMENT EDIT - SENT OUT WITH AUTOPATCH TAPE 5
;
REP 17/2 ;05C5
;.EDIT 201 DEVELOPMENT EDIT
;
;.EDIT 200 RESTORE .FBSIZE TO + INFINITY FOR COBOL-20
; HAM/JM,11-SEP-81,SPR:NONE
WIT
;.EDIT 203 PRINT KEY VALUE FOR DUP OR KEYS OUT OF ORDER MSG
; LEM,22-JAN-82,SPR:NONE
INS 24/2 ;05C6
;.AUTOPATCH 5
;
;.EDIT 201 ALLOW A CONTROL-Z TO EXIT UTILITY
; DMN/RJD,21-JUL-82,SPR:20-18049
; A:SRC ISAM
;
;.EDIT 204 PRINT RECORD CONTENT FOR KEYS OUT OF ORDER MSG AND
;; RECORD TOO SHORT MSG.
; RLF,30-APR-82,SPR 20-17583
; A:SRC ISAM
;
;.EDIT 205 DISPLAY ERROR MSG ACCORDING TO BIT SETTINGS OF FILE
;; STATUS.
; RLF,20-MAY-82,SPR 10-32566
; A:SRC ISAM
;
;.EDIT 206 DO NOT DISPLAY COMMA AFTER LAST ERROR MESSAGE GENERATED
; SMI, 16-SEP-82,SPR 10-33058
; A:SRC ISAM
;
;.ENDA
INS 4/23 ;05C7
SETZM RECCNT ; [204] INITIALIZE RECORD COUNT.
INS 7/28 ;05C8
REP 23/28 ;05C9
WIT
AOS RECCNT ; [204] UPDATE RECORD COUNT.
INS 9/34 ;05C10
PUSHJ PP,TYPREC ; [204] TYPE OUT ERROR RECORD.
DEL 59/39 ;05C11
INS 151/54 ;05C12
PUSHJ PP,TYPREC ;[204] TYPE OUT RECORD.
INS 156/54 ;05C13
INS 179/54 ;05C14
PUSH PP,TC ;[205] SAVE STATUS.
MOVE TA,TC ;[205] GET STATUS BITS
PUSHJ PP,FILSTS ;[205] AND CHECK FOR ERROR.
POP PP,TC ;[205] GET BACK STATUS.
INS 209/54 ;05C15
;FILSTS TYPES OUT ERROR ON DISK OR TAPE WHEN FILE STATUS BITS ARE SET
FILSTS: MOVE TB,TA ;[205] GET STATUS BITS
ANDI TB,IO.ERR!IO.EOT ;[205] CHECK ONLY THESE BITS.
CAIN TB,0 ;[205] ANY ERROR?
POPJ PP, ;[205] NO.
TYPE ( STATUS BITS SHOW CAUSE AS ) ;[205] YES.
MOVSI TD,-.FILLN ;[205] SET POINTER.
SKIPA ;[206] SKIP PRINTING COMMA FIRST TIME
FILBIT: TYPE (,) ;[206] PRINT A COMMA
HRRZ TC,FILERR(TD) ;[205][206] GET ONE BIT
TDZN TB,TC ;[205] IS IT SET?
JRST FILAOB ;[205] NO.
HLRZ TA,FILERR(TD) ;[205] YES,GET ADDRESS OF
TYPEA ((TA)) ;[205] ERROR AND TYPE.
FILAOB: SKIPE TB ;[205] MORE BITS SET?
AOBJN TD,FILBIT ;[205] YES,LOOP.
TYPE (.) ;[206] TYPE A PERIOD AFTER LAST ERROR
POPJ PP, ;[205] ALL DONE.
FILERR: [ASCIZ\ DEVICE WRITE-LOCKED\],,IO.IMP ;[205][206] BIT-18
[ASCIZ\ HARDWARE DEVICE ERROR\],,IO.DER ;[205][206] BIT-19
[ASCIZ\ HARD DATA PARITY ERROR\],,IO.DTE ;[205][206] BIT-20
[ASCIZ\ QUOTA EXCEEDED OR BLOCK TOO LARGE\],,IO.BKT ;[205][206] BIT-21
[ASCIZ\ PHYSICAL END OF TAPE ENCOUNTERED\],,IO.EOT ;[205][206] BIT-25
.FILLN==.-FILERR ;[205] ERROR MESSAGES.
INS 24/56 ;05C16
INS 14/57 ;05C17
;TYPE OUT THE ERROR RECORD
TYPREC: TYPE (error record number );[204] THIS ROUTINE
;[204] TYPES OUT THE ERROR RECORD.
MOVE TE,RECCNT ;[204] GET RECORD COUNT AND
PUSHJ PP,PUTDC1 ;[204] CONVERT TO DECIMAL.
TYPE (
record contains: )
MOVE OP,RECPTR ;[204] SET RECORD POINTER
MOVEI OM,AS.MOD ;[204] SET UP OUTPUT MODE.
MOVE TE,@CNVPTI(IM) ;[204] AND READY FOR
MOVEM TE,CONVRT ;[204] CONVERSION.
SKIPG IM ;[204] 6-BIT?
JRST TYP67 ;[204] YES.
CAIE IM,EB.MOD ;[204] EBCDIC?
JRST TYP77 ;[204] IT'S ASCII.
JRST TYP67 ;[204] IT'S EBCDIC
TYP67: ILDB CH,OP ;[204] GET ONE CHARACTER
LDB CH,CONVRT ;[204] FROM RECORD
TYPEC CH ;[204] AND DISPLAY ON TTY
SOJN OC,TYP67 ;[204] ALL DONE?
POPJ PP, ;[204] YES, GET OUT.
TYP77: ILDB CH,OP ;[204] GET ONE CHARACTER.
TYPEC CH ;[204] OUTPUT TO TTY.
SOJN OC,TYP77 ;[204] ALL DONE?
POPJ PP, ;[204] YES.
INS 11/58 ;05C18
CAIN CH,32 ;[201] TEST FOR ^Z FROM TTY
JRST CZED ;[201] IT WAS, JUST EXIT
INS 43/58 ;05C19
CZED: EXIT 1, ;[201] EXIT
JRST START ;[201] IN CASE USER TYPES CONTINUE
INS 53/75 ;05C20
RECCNT: BLOCK 1 ; [204] RECORD COUNT FOR INPUT FILE
SUM 74145