Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
isam.c05
There are 2 other files named isam.c05 in the archive. Click here to see a list.
REP 28/1 ;05C1
EDIT==162
WIT
EDIT==206
DEL 32/1 ;05C2
INS 3/2 ;05C3
;AUTOPATCH HISTORY FILE FOR 12B
;
;.BEGINR
;.COMPONENT ISAM
;.VERSION 12B
;.AUTOPATCH 4
;
;.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
;
;
;.EDIT 202 FIX ERROR MESSAGE SO ALL IS PRINTED
; JEH,02-OCT-81,SPR:10-31662
; A:SRC ISAM
;
;.EDIT 203 PRINT KEY VALUE FOR DUP OR KEYS OUT OF ORDER MSG
; LEM,22-JAN-82,SPR:NONE
; A:SRC ISAM
;
;.ENDA
;.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
;.ENDV
;.ENDR
REP 40/3 ;05C4
MTIND==101 ;INDUSTRU COMPATABLE MODE FUNCTION CODE FOR MTAPE UUO
WIT
MTIND==101 ;INDUSTRU COMPATABLE MODE FUNCTION CODE FOR MTAPE UUO
REP 1/16 ;05C5
WIT
REP 67/18 ;05C6
WIT
REP 83/19 ;05C7
WIT
REP 45/20 ;05C8
WIT
REP 15/21 ;05C9
WIT
INS 4/23 ;05C10
SETZM RECCNT ; [204] INITIALIZE RECORD COUNT.
REP 65/23 ;05C11
WIT
REP 39/25 ;05C12
WIT
REP 87/26 ;05C13
WIT
INS 7/28 ;05C14
REP 23/28 ;05C15
WIT
AOS RECCNT ; [204] UPDATE RECORD COUNT.
REP 150/28 ;05C16
WIT
REP 57/32 ;05C17
WIT
INS 9/34 ;05C18
PUSHJ PP,TYPREC ; [204] TYPE OUT ERROR RECORD.
REP 14/35 ;05C19
CAMX1A: ILDB CH,TA
WIT
MOVE TF,TA ;[203]GET KEY BYTE-PNTR
CAMX1A: ILDB CH,TF ;[203]
REP 43/35 ;05C20
CAMX3A: ILDB CH,TA ;[155] GET NEXT CHAR
WIT
MOVE TF,TA ;[203]
CAMX3A: ILDB CH,TF ;[155][203] GET NEXT CHAR
REP 59/35 ;05C21
WIT
REP 67/36 ;05C22
WIT
REP 22/37 ;05C23
WIT
REP 50/38 ;05C24
;IFN TOPS20,< PUSHJ PP,OF2AFS >;[154]GET ASCII FILE SPEC
WIT
IFN TOPS20,< PUSHJ PP,OF2AFS >;[154]GET ASCII FILE SPEC ;[200]
REP 55/38 ;05C25
;IFN TOPS20,<
; MOVE TA,OF2DAT ;GET DEVICE NAME OF IDA FILE
; CALLI TA,$GETCH ;GET CHARACTERISTICS
; TLNN TA,$DSK ;A DISK?
; JRST ALLD13 ;NO
; TRNN SW,OPT.P ;SKIP IF A SEQ FILE
; PUSHJ PP,OF1SIZ ;CHANGE .FBSIZ TO +INFINITY
;>;END IFN TOPS20
WIT
IFN TOPS20,<
MOVE TA,OF2DAT ;GET DEVICE NAME OF IDA FILE ;[200]
CALLI TA,$GETCH ;GET CHARACTERISTICS ;[200]
TLNN TA,$DSK ;A DISK? ;[200]
JRST ALLD13 ;NO ;[200]
TRNN SW,OPT.P ;SKIP IF A SEQ FILE ;[200]
PUSHJ PP,OF1SIZ ;CHANGE .FBSIZ TO +INFINITY ;[200]
>;END IFN TOPS20 ;[200]
REP 87/38 ;05C26
WIT
REP 58/39 ;05C27
;NOW WRITE OUT ANY EMPTY INDEX BLOCKS REQUIRED
WIT
;NOW WRITE OUT ANY EMPTY INDEX BLOCKS REQUIRED
REP 102/39 ;05C28
;IFN TOPS20,< PUSHJ PP,OF1AFS >;[154] GET ASCIZ FILE SPEC
WIT
IFN TOPS20,< PUSHJ PP,OF1AFS >;[154] GET ASCIZ FILE SPEC ;[200]
REP 106/39 ;05C29
;IFN TOPS20,<
; MOVE TA,OF1DAT ;GET DEVICE NAME OF IDX FILE
; CALLI TA,$GETCH ;GET CHARACTERISTICS
; TLNE TA,$DSK ;SKIP IF NOT A DSK
; PUSHJ PP,OF1SIZ ;CHANGE .FBSIZ TO +INFINITY
;>;END IFN TOPS20
WIT
IFN TOPS20,<
MOVE TA,OF1DAT ;GET DEVICE NAME OF IDX FILE ;[200]
CALLI TA,$GETCH ;GET CHARACTERISTICS ;[200]
TLNE TA,$DSK ;SKIP IF NOT A DSK ;[200]
PUSHJ PP,OF1SIZ ;CHANGE .FBSIZ TO +INFINITY ;[200]
>;END IFN TOPS20 ;[200]
REP 116/39 ;05C30
;DISPLAY SOME OF THE FINAL STATISTICS
WIT
;DISPLAY SOME OF THE FINAL STATISTICS
REP 50/41 ;05C31
WIT
REP 12/42 ;05C32
WIT
REP 75/43 ;05C33
GETK4A: TYPE (%U inappropriate before X, U ignored
) ;[160]
WIT
GETK4A: TYPE (%U inappropriate before X - U ignored
) ;[202] [160]
REP 80/43 ;05C34
WIT
REP 38/44 ;05C35
WIT
REP 47/45 ;05C36
WIT
REP 75/46 ;05C37
WIT
REP 22/48 ;05C38
WIT
REP 69/49 ;05C39
WIT
REP 150/50 ;05C40
WIT
REP 16/53 ;05C41
WIT
REP 148/54 ;05C42
RTSERR: PUSHJ PP,CAMD
TYPE (ISMRTS record too short to contain key field
)
WIT
RTSERR: PUSHJ PP,CAMD
TYPE (ISMRTS record too short to contain key field
)
PUSHJ PP,TYPREC ;[204] TYPE OUT RECORD.
INS 156/54 ;05C43
INS 179/54 ;05C44
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 ;05C45
;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.
REP 28/55 ;05C46
WIT
INS 24/56 ;05C47
REP 35/56 ;05C48
WIT
INS 14/57 ;05C49
;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 ;05C50
CAIN CH,32 ;[201] TEST FOR ^Z FROM TTY
JRST CZED ;[201] IT WAS, JUST EXIT
REP 19/58 ;05C51
WIT
INS 43/58 ;05C52
CZED: EXIT 1, ;[201] EXIT
JRST START ;[201] IN CASE USER TYPES CONTINUE
REP 46/58 ;05C53
WIT
REP 19/59 ;05C54
WIT
REP 44/60 ;05C55
WIT
REP 15/61 ;05C56
WIT
REP 39/63 ;05C57
WIT
REP 68/66 ;05C58
WIT
REP 59/68 ;05C59
WIT
REP 47/69 ;05C60
WIT
REP 174/70 ;05C61
WIT
REP 25/71 ;05C62
WIT
INS 53/75 ;05C63
RECCNT: BLOCK 1 ; [204] RECORD COUNT FOR INPUT FILE
REP 118/75 ;05C64
DATBPB: BLOCK 1 ;EBCDIC VARIABLE LENGTH BYTES PER BLOCK - OUTPUT
WIT
DATBPB: BLOCK 1 ;EBCDIC VARIABLE LENGTH BYTES PER BLOCK - OUTPUT
SUM 93257