home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / ASMUTL / PC370.ZIP / TESTFCB.ALC < prev    next >
Encoding:
Text File  |  1987-05-10  |  3.4 KB  |  142 lines

  1.     TITLE 'TESTFCB - TEST SEQ. AND RANDOM FCB I/O'
  2. *
  3. * AUTHOR.   DON HIGGINS.
  4. * DATE.     03/30/85.
  5. * REMARKS.  PC/370 PROGRAM TO DEMO SEQUENTIAL AND RANDOM FILE ACCESS.
  6. *
  7. *  CONVERTED FROM R1.2 DEMOIO.ALC
  8. *
  9. *
  10. *
  11. *
  12. TESTFCB  CSECT
  13.     LR    R12,R15
  14.     USING TESTFCB,R12
  15.     LA    R2,=C'TESTFCB STARTED$'
  16.     SVC   WTO
  17.     LA    R2,=C'CREATE TESTFCB.DAT FILE$'
  18.     SVC   WTO
  19.     LA    R1,TESTF+1
  20.     LA    R2,11
  21.     SVC   EBCASC
  22.     LA    R2,FREC
  23.     SVC   SETDMA     RESET DMA ADDDRESS  TO RECORD AREA
  24.     LA    R2,TESTF
  25.     USING IHADCB,R2
  26.     SVC   CREATE
  27.     CLM   R0,1,=X'00' VERFIY CREATE OK
  28.     BNE   FSYN
  29.     LA    R3,10
  30.     LA    R4,1
  31. FLOOP    EQU   *
  32.     STC   R4,FREC
  33.     MVC   FREC+1(L'FREC-1),FREC FILL RECORD WITH RECORD #
  34.     LA    R4,1(R4)
  35.     LA    R2,TESTF
  36.     SVC   WRITE   SEQUENTIALLY WRITE FIXED FILE RECORDS
  37.     BCT   R3,FLOOP
  38.     LA    R2,TESTF
  39.     SVC   CLOSE
  40.     LA    R2,=C'RANDOMLY UPDATE TESTFCB.DAT RECORD 5$'
  41.     SVC   WTO
  42.     LA    R2,TESTF
  43.     SVC   SEARCH
  44.     CLM   R0,1,=X'00'   VERIFY SEARCH OK
  45.     BNE   FSYN
  46.     SVC   OPEN
  47.     CLM   R0,1,=X'00'   VERIFY OPEN OK
  48.     BNE   FSYN
  49.     LA    R1,4
  50.     BAL   R14,SETPTR
  51.     LA    R2,TESTF
  52.     SVC   RANREAD  RANDOMLY READ RECORD 5
  53.     LA    R5,FREC
  54.     CLI   0(R5),5
  55.     BAL   R14,CHKF
  56.     CLC   1(L'FREC-1,R5),0(R5)
  57.     BAL   R14,CHKF
  58.     MVI   0(R5),X'FF'
  59.     MVC   1(L'FREC-1,R5),0(R5)
  60.     LA    R2,TESTF
  61.     SVC   RANWRITE   UPDATE RECORD 5 WITH HIGH VALUES
  62.     LA    R1,1
  63.     BAL   R14,SETPTR
  64.     LA    R2,TESTF
  65.     SVC   RANREAD   RANDOMLY READ RECORD 2 AND VERIFY
  66.     LA    R5,FREC
  67.     CLI   0(R5),2
  68.     BAL   R14,CHKF
  69.     LA    R1,4
  70.     BAL   R14,SETPTR
  71.     LA    R2,TESTF
  72.     SVC   RANREAD   REREAD RECORD 5 AND VERFIY
  73.     LA    R5,FREC
  74.     CLI   0(R5),X'FF'
  75.     BAL   R14,CHKF
  76.     CLC   1(L'FREC-1,R5),0(R5)
  77.     BAL   R14,CHKF
  78.     LA    R2,TESTF
  79.     SVC   CLOSE
  80.     LA    R2,=C'TESTFCB ENDED$'
  81.     SVC   WTO
  82.     SVC   EXIT
  83. SETPTR   EQU   *
  84.     STCM  R1,1,BLKPTR
  85.     STCM  R1,2,BLKPTR+1
  86.     STCM  R1,4,BLKPTR+2
  87.     STCM  R1,8,BLKPTR+3
  88.     BR    R14
  89. CHKF     EQU   *
  90.     BER   R14
  91. FSYN     EQU   *
  92.     SVC   TRACE
  93.     DC    C'BUG'
  94.     SVC   EXIT
  95.     DC    C'FIXED ERROR'
  96.     LTORG
  97. R0       EQU   0
  98. R1       EQU   1
  99. R2       EQU   2
  100. R3       EQU   3
  101. R4       EQU   4
  102. R5       EQU   5
  103. R6       EQU   6
  104. R7       EQU   7
  105. R8       EQU   8
  106. R9       EQU   9
  107. R10      EQU   10
  108. R11      EQU   11
  109. R12      EQU   12
  110. R13      EQU   13
  111. R14      EQU   14
  112. R15      EQU   15
  113. EXIT     EQU   0         EXIT  TO CP/M
  114. TRACE    EQU   9         TRACE SVC
  115. EBCASC   EQU   13        EBCDIC TO ASCII
  116. WTO      EQU   209       WRITE TO OPERATOR
  117. OPEN     EQU   200+X'0F' OPEN FILE
  118. CLOSE    EQU   200+X'10' CLOSE FILE
  119. SEARCH   EQU   200+X'11' SEARCH FOR FILE
  120. READ     EQU   200+X'14' READ FILE RECORD
  121. WRITE    EQU   200+X'15' WRITE FILE RECORD
  122. CREATE   EQU   200+X'16' CREATE OR TRUNCATE FILE AND OPEN
  123. SETDMA   EQU   200+X'1A' SET DIRECT MEMORY TRANS. ADDR.
  124. RANREAD  EQU   200+X'21' RANDOM READ
  125. RANWRITE EQU   200+X'22' RANDOM WRITE
  126.     DC    C'FREC'
  127. FREC     DC    XL128'00'
  128.     DC    C'TESTF DCB'
  129. TESTF    DC    X'00',CL8'TESTFCB',CL3'DAT'  UNIT,DDNAME,TYPE
  130.     DC    XL2'0000',XL2'8000'        CURBLK, LRECL
  131.     DC    XL16'00',X'00',XL4'00'     RESV'D, RCD EXT, BLK PTR
  132. *
  133. *  DATA CONTROL BLOCK DUMMY SECTION FOR MSDOS FILES USING PC/370 SVC'S
  134. *
  135. IHADCB   DSECT
  136. DDUNIT   DS    X AUTO DRIVE SELECT 0 OR 1-16
  137. DDNAME   DS    CL8 DATA SET NAME
  138. DDTYPE   DS    CL3 DATA SET TYPE
  139.     DS    XL21 CPM FCB RESERVED FIELDS
  140. BLKPTR   DS    XL4 RANDOM ACCESS BLOCK #    ADD BYTE FOR MSDOS
  141.     END   TESTFCB
  142.