home *** CD-ROM | disk | FTP | other *** search
- TITLE 'DEMOIO - TEST FIXED AND VARIABLE I/O'
- *
- * AUTHOR. DON HIGGINS.
- * DATE. 03/30/85.
- * REMARKS. PC/370 PROGRAM TO DEMO SEQUENTIAL AND RANDOM FILE ACCESS.
- *
- DEMOIO CSECT
- USING DEMOIO,R15
- LA R2,=C'DEMOIO STARTED$'
- SVC WTO
- LA R2,=C'CREATE TESTF.DAT FILE$'
- SVC WTO
- LA R2,TESTF
- USING IHADCB,R2
- SVC OPEN
- LA R3,10
- LA R4,1
- FLOOP EQU *
- STC R4,FREC
- MVC FREC+1(L'FREC-1),FREC FILL RECORD WITH RECORD #
- LA R4,1(R4)
- LA R1,FREC
- LA R2,TESTF
- SVC PUT SEQUENTIALLY WRITE FIXED FILE RECORDS
- BCT R3,FLOOP
- LA R2,TESTF
- SVC CLOSE
- LA R2,=C'RANDOMLY UPDATE TESTF.DAT$'
- SVC WTO
- LA R2,TESTF
- MVI DSORG,C'R' RANDOM
- MVI MACRF,C'W' READ OR WRITE
- SVC OPEN
- ICM R5,1,DMAS
- ICM R5,2,DMAS+1 R5=A(DMA BUFFER)
- LA R1,4
- LA R2,TESTF
- SVC READ RANDOMLY READ RECORD 5
- CLI 0(R5),5
- BAL R14,CHKF
- CLC 1(L'FREC-1,R5),0(R5)
- BAL R14,CHKF
- MVI 0(R5),X'FF'
- MVC 1(L'FREC-1,R5),0(R5)
- LA R1,4
- LA R2,TESTF
- SVC WRITE UPDATE RECORD 5 WITH HIGH VALUES
- LA R1,1
- LA R2,TESTF
- SVC READ RANDOMLY READ RECORD 2 AND VERIFY
- CLI 0(R5),2
- BAL R14,CHKF
- LA R1,4
- LA R2,TESTF
- SVC READ REREAD RECORD 5 AND VERFIY
- CLI 0(R5),X'FF'
- BAL R14,CHKF
- CLC 1(L'FREC-1,R5),0(R5)
- BAL R14,CHKF
- LA R2,TESTF
- SVC CLOSE
- LA R2,=C'CREATE TESTV.DAT$'
- SVC WTO
- LA R2,TESTV
- USING IHADCB,R2
- SVC OPEN
- LA R3,10
- LA R4,5
- VLOOP EQU *
- STCM R4,1,VREC
- STCM R4,2,VREC+1
- LA R4,5(R4) INC LENGTH
- LA R1,VREC
- LA R2,TESTV
- SVC PUT SEQUENTIALLY WRITE VARIABLE RCDS FROM 5 TO 55 BY 5
- BCT R3,VLOOP
- LA R2,TESTV
- SVC CLOSE
- LA R2,=C'SEQUENTIALLY READ AND VERIFY TESTV.DAT$'
- SVC WTO
- LA R2,TESTV
- MVI MACRF,C'G'
- SVC OPEN
- LA R4,5
- VRLOOP EQU *
- LA R1,VREC
- LA R2,TESTV
- SVC GET SEQ. READ AND VERIFY LENGTHS
- CLM R4,1,VREC
- BAL R14,CHKV
- CLM R4,2,VREC+1
- BAL R14,CHKV
- LA R4,5(R4)
- B VRLOOP
- VEOF EQU *
- LA R2,TESTV
- SVC CLOSE
- CH R4,=H'55'
- BAL R14,CHKV
- LA R2,=C'DEMOIO ENDED$'
- SVC WTO
- SVC EXIT
- CHKF EQU *
- BER R14
- FSYN EQU *
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- DC C'FIXED ERROR'
- CHKV DS 0H
- BER R14
- VSYN EQU *
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- DC C'VARIBLE ERROR'
- LTORG
- R0 EQU 0
- R1 EQU 1
- R2 EQU 2
- R3 EQU 3
- R4 EQU 4
- R5 EQU 5
- R6 EQU 6
- R7 EQU 7
- R8 EQU 8
- R9 EQU 9
- R10 EQU 10
- R11 EQU 11
- R12 EQU 12
- R13 EQU 13
- R14 EQU 14
- R15 EQU 15
- WTO EQU 209 WRITE TO OPERATOR
- EXIT EQU 0 EXIT TO CP/M
- OPEN EQU 1 OPEN FILE
- CLOSE EQU 2 CLOSE FILE
- READ EQU 3 READ FILE RECORD
- WRITE EQU 4 WRITE FILE RECORD
- GET EQU 5 GET RECORD
- PUT EQU 6 PUT RECORD
- TRACE EQU 9 TRACE SVC
- DC C'FREC'
- FREC DC XL128'00'
- DC C'VREC'
- VREC DC XL55'00'
- DC C'TESTF DCB'
- TESTF DS 0XL59 ADD EXTRA BYTE TO BLKPTR FOR MSDOS
- DC X'00',CL8'TESTF',CL3'DAT' UNIT,DDNAME,TYPE
- DC HL2'0',HL2'128' CURBLK, LRECL
- DC XL16'00',X'00',XL4'00' RESV'D, RCD EXT, BLK PTR
- DC C'PF' SEQ. PUT FIXED
- DC HL2'128' MAX TEXT RECORD (NOTE NO ALIGNMENT)
- DC HL2'128' BLOCK SIZE
- DC AL2(FSYN,FSYN)
- DC XL8'00',X'0A',X'1A',X'00',C'S'
- DC C'TESTV DCB'
- TESTV DS 0XL59
- DC X'00',CL8'TESTV',CL3'DAT'
- DC HL2'0',HL2'128' CURBLK, LRECL
- DC XL16'00',XL1'00',XL4'00'
- DC C'PV' SEQ. PUT VARIABLE
- DC HL2'55' MAX TEXT RECORD (NOTE TRUNC. TO 80)
- DC HL2'2048' BLOCK SIZE
- DC AL2(VEOF,VSYN)
- DC XL8'00',X'0A',X'1A',X'00',C'S'
- *
- * DATA CONTROL BLOCK DUMMY SECTION FOR MSDOS FILES USING PC/370 SVC'S
- *
- IHADCB DSECT
- DDUNIT DS X AUTO DRIVE SELECT 0 OR 1-16
- DDNAME DS CL8 DATA SET NAME
- DDTYPE DS CL3 DATA SET TYPE
- DS XL21 CPM FCB RESERVED FIELDS
- BLKPTR DS XL4 RANDOM ACCESS BLOCK # ADD BYTE FOR MSDOS
- MACRF DS C DATA SET ACCESS MODE R/W/G/P=READ/WRITE/GET/PUT
- RECFM DS C DATA SET RECORD PRINT F/V/T=FIXED/VAR./TEXT
- LRECL DS HL2 MAXIMUM RECORD LENGTH
- BLKSZ DS HL2 MAXIMUM BLOCK LENGTH
- EODAD DS AL2 END OF DATA ADDRESS
- SYNAD DS AL2 SYCHRONOUS ERROR EXIT ADDRESS
- RCDPTR DS AL2 LOGICAL RECORD POINTER IN BUFFER
- DMAS DS AL2 DMA BUFFER START
- DMAE DS AL2 DMA BUFFER END
- BLKE DS AL2 END OF DYNAMICALLY ALLOC. BUFFER
- DCBEOR DS X END OF RECORD CODE FOR TEXT FILES
- DCBEOF DS X END OF FILE CODE FOR TEXT FILES
- DS X RESERVED DCB FLAG FIELD
- DSORG DS C DATA SET ORGANIZATION S=SEQ AND R=RANDOM
- END DEMOIO