IMHO it's clearer to just use READ PDSDECB,SF,PDSDCB,address _of_READ_buffer,MF=E CHECK PDSDECB
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [[email protected]] on behalf of Joseph Reichman [[email protected]] Sent: Monday, March 20, 2023 9:20 AM To: [email protected] Subject: BSAM READ AMODE 31 RMODE 31 Hi I know Charles Mills answered my question nearly 4 weeks ago but I would just like to corroborate the I/O areas for the read can be 31 bit addressing only the dcb and decb need to be below the line I am running AMODE 31 RMODE 31 The DCB is below the line as well as the DECB My read returns ok After I set a beak point after the CHECK I get As S0D9 ABEND with a SDUMP This the example that Charles sent to me does nt say anything about the IOAREAS or pointers to the IOAREAS LA Rn,PDSDCB ST Rn,PDSDECB+8 PLACE DCB ADDRESS IN DECB L Rn,address of READ buffer READ PDSDECB,SF,,(Rn),MF=E CHECK PDSDECB This is my read READ ADATADECB,SF,(R6),IOBUFF,'S',MF=E The IOBUFF is a full word pointer to the storage I obtain Here is my code LA R0,IODSECTLEN STORAGE OBTAIN,LENGTH=(R0),ADDR=(R6),LOC=BELOW,SP=0 LR R9,R6 USING IHADCB,R9 USING IODSECT,R6 * * LA R7,SYSADATA MVC 0(IODSECTLEN,R6),0(R7) * LA R7,SYSDCBE-SYSADATA(,R6) ST R7,DCBDCBE LA R7,EX24LST-SYSADATA(,R6) STCM R7,B'0111',DCBEXLSA LA R7,ABND24-SYSADATA(,R6) STCM R7,B'0111',ABND24ADR-SYSADATA(R6) LA R7,ABENDRTN ST R7,ABEND31-SYSADATA(,R6) * T L R0,=F'31996' * STORAGE OBTAIN,LENGTH=(R0),ADDR=(R7),LOC=RES,SP=0 * LA R7,IOAREA * ST R7,IOPTR * ST R7,IOBUFF MVC OPEN_LST(OPEN_LEN),OPEN_CON OPEN ((R6),INPUT),MF=(E,OPEN_LST),MODE=31 * TM DCBOFLGS,DCBOFOPN BZ EXITDEBG USING ASMADATA,R7 L R10,IOBUFF PROCADATA DS 0H READ ADATADECB,SF,(R6),IOBUFF,'S',MF=E * CHECK ADATADECB * OPEN_CON OPEN (*-*,INPUT),MF=L,MODE=31 SYSADATA DCB DDNAME=SYSADATA,RECFM=VB,MACRF=RP,DSORG=PS,DCBE=SYSDCBE,EXX LST=EX24LST IHADECB DSECT=NO DECBLEN EQU *-DECB SYSDCBE DCBE EODAD=FIN,GETSIZE=YES,LOC=ANY,RMODE31=BUFF,SYNAD=SYNAD,VEX RSION=1 EX24LST DS 0F ADATAEXLST DC AL1(EXLDCBAB+X'80') ABND24ADR DS AL3 ABND24 DS 0H L R15,ABEND31-SYSADATA(,R15) BSM 0,R15 ABEND31 DS XL4 STROGE24 EQU *-EX24LST * IODSECT DSECT ADATADCB DS CL(DCBLNGBS) ADATADECB DS CL(DECBLEN) ADATADCBE DS CL(DCBELENV1) DS 0F INST31 DS CL(STROGE24) IODSECTLEN EQU *-IODSECT ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
