home *** CD-ROM | disk | FTP | other *** search
- TITLE 'TESTFCB - TEST SEQ. AND RANDOM FCB I/O'
- *
- * AUTHOR. DON HIGGINS.
- * DATE. 03/30/85.
- * REMARKS. PC/370 PROGRAM TO DEMO SEQUENTIAL AND RANDOM FILE ACCESS.
- *
- * CONVERTED FROM R1.2 DEMOIO.ALC
- *
- *
- *
- *
- TESTFCB CSECT
- LR R12,R15
- USING TESTFCB,R12
- LA R2,=C'TESTFCB STARTED$'
- SVC WTO
- LA R2,=C'CREATE TESTFCB.DAT FILE$'
- SVC WTO
- LA R1,TESTF+1
- LA R2,11
- SVC EBCASC
- LA R2,FREC
- SVC SETDMA RESET DMA ADDDRESS TO RECORD AREA
- LA R2,TESTF
- USING IHADCB,R2
- SVC CREATE
- CLM R0,1,=X'00' VERFIY CREATE OK
- BNE FSYN
- 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 R2,TESTF
- SVC WRITE SEQUENTIALLY WRITE FIXED FILE RECORDS
- BCT R3,FLOOP
- LA R2,TESTF
- SVC CLOSE
- LA R2,=C'RANDOMLY UPDATE TESTFCB.DAT RECORD 5$'
- SVC WTO
- LA R2,TESTF
- SVC SEARCH
- CLM R0,1,=X'00' VERIFY SEARCH OK
- BNE FSYN
- SVC OPEN
- CLM R0,1,=X'00' VERIFY OPEN OK
- BNE FSYN
- LA R1,4
- BAL R14,SETPTR
- LA R2,TESTF
- SVC RANREAD RANDOMLY READ RECORD 5
- LA R5,FREC
- 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 R2,TESTF
- SVC RANWRITE UPDATE RECORD 5 WITH HIGH VALUES
- LA R1,1
- BAL R14,SETPTR
- LA R2,TESTF
- SVC RANREAD RANDOMLY READ RECORD 2 AND VERIFY
- LA R5,FREC
- CLI 0(R5),2
- BAL R14,CHKF
- LA R1,4
- BAL R14,SETPTR
- LA R2,TESTF
- SVC RANREAD REREAD RECORD 5 AND VERFIY
- LA R5,FREC
- 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'TESTFCB ENDED$'
- SVC WTO
- SVC EXIT
- SETPTR EQU *
- STCM R1,1,BLKPTR
- STCM R1,2,BLKPTR+1
- STCM R1,4,BLKPTR+2
- STCM R1,8,BLKPTR+3
- BR R14
- CHKF EQU *
- BER R14
- FSYN EQU *
- SVC TRACE
- DC C'BUG'
- SVC EXIT
- DC C'FIXED 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
- EXIT EQU 0 EXIT TO CP/M
- TRACE EQU 9 TRACE SVC
- EBCASC EQU 13 EBCDIC TO ASCII
- WTO EQU 209 WRITE TO OPERATOR
- OPEN EQU 200+X'0F' OPEN FILE
- CLOSE EQU 200+X'10' CLOSE FILE
- SEARCH EQU 200+X'11' SEARCH FOR FILE
- READ EQU 200+X'14' READ FILE RECORD
- WRITE EQU 200+X'15' WRITE FILE RECORD
- CREATE EQU 200+X'16' CREATE OR TRUNCATE FILE AND OPEN
- SETDMA EQU 200+X'1A' SET DIRECT MEMORY TRANS. ADDR.
- RANREAD EQU 200+X'21' RANDOM READ
- RANWRITE EQU 200+X'22' RANDOM WRITE
- DC C'FREC'
- FREC DC XL128'00'
- DC C'TESTF DCB'
- TESTF DC X'00',CL8'TESTFCB',CL3'DAT' UNIT,DDNAME,TYPE
- DC XL2'0000',XL2'8000' CURBLK, LRECL
- DC XL16'00',X'00',XL4'00' RESV'D, RCD EXT, BLK PTR
- *
- * 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
- END TESTFCB