You are correct sir Will make Binyamin changes and try it tonite
> On Mar 20, 2023, at 11:07 AM, Seymour J Metz <[email protected]> wrote: > > That doesn't explain why you had LA R7 in places where you didn't need a > pointer, > > LA R7,SYSADATA > MVC 0(IODSECTLEN,R6),0(R7) > > Instead of the clearer > > MVC 0(IODSECTLEN,R6),SYSADATA > > Side issue are why you had separate moves for initialization instead of one > big move and why you didn't just use symbolic names in your E-form macros > instead of register form parameters with an otherwise extraneous LA. > > You might want to read up on dependent and labelled USING pseudo-ops. > > Only the WAIT service should be storing an RB address in an ECB; the ECB that > you provide in the DECB should initially have a high bit of 0. Also, the > completion code is 31 bits, and a lot of system services have codes with the > lower 24 bits zero or containig a context for the code in bits 0-7. In > particular, Many services use 7F in the high byte for normal completion. > > > -- > 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 10:10 AM > To: [email protected] > Subject: Re: BSAM READ AMODE 31 RMODE 31 > > Ok > > Thanks > The reason I had the LA R7 > > I first had to get 24 bit storage for 1) dcb 2) decb though I realize it can > live in 31 bit > 3) decb it has to live in 31 bit 4) initial exit code has to be 24 bit > > Once moved I had to get the proper pointers > 24 bit pointers for exlst , decb > > Let me corroborate I understand why I got the error > > After the read the first full word should be for the ECB so the low order > should have an RB > Or if it already posted should have the first byte x’40’ followed by > completion code which could be zeros what a saw in the ECB address was the > first byte x’7F’ > > Anyway I have to fix the read thank you > >> On Mar 20, 2023, at 9:52 AM, Binyamin Dissen <[email protected]> >> wrote: >> >> First of all, the buffer address specified on READ MF=E is an RX address, not >> an indirect address. >> >> So the read will overlay from IOBBUFF. That could cause strange results, >> >> You would need >> >> L Rx,IOBUFF >> READ ADATADECB,SF,(R6),(Rx),'S',MF=E >> >> >> Also, I do not understand why you use IHADECB in your work area rather than a >> >> READ label,SF,1-1,2-2,'S',MF=L >> >> which will reserve the storage of the appropriate size. >> >> I would recommend against altering the DECB directly, as the READ macro takes >> care of it. >> >> Very strange to STORAGE OBTAIN,ADDR=(R7) followed by a LA R7 >> >> Back to the drawing board. >> >> On Mon, 20 Mar 2023 09:20:39 -0400 Joseph Reichman <[email protected]> >> wrote: >> >> :> 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 >> >> -- >> Binyamin Dissen <[email protected]> >> http://secure-web.cisco.com/1k7iuP-MpHfkEeviZsLEOvJ_MMv-EjqmY_0lxXY1Pp_66i5LWKD0RJujd93TrMEqU63byPahnsk9XNMu-lp-Vh4V7B7UAR-9GmTTnGI2I0MzJsf3_C_vlqghTkxyKmxJmO3ABRCGC09PNhuoGnkDs88DJn4WbVoiWCKtcve-KkwlQy9yuE4Neysq7w9DypZlafB6pm49qBXwQruyMU_e5-DqJTHOuG8LtDQ0M_EC9ROLTJh8rin-CX06V9rSHtdxcVeS6te8d4v7eaG900HQnQJe3JAqljGEquahMztXZmH6j5ywxOD5Wx5LV2bWV96ZqRvTp1HQUuf6RRCRh4jpWGyYx3dsMOGrif5-qJk-JH3Gc64MJvIXXhnqUZ1UQYjbuAfLmUaJB3wMSwZ71yxIJOWZs1pKytwbyIhvEt-cpkq4/http%3A%2F%2Fwww.dissensoftware.com >> >> Director, Dissen Software, Bar & Grill - Israel >> >> ---------------------------------------------------------------------- >> 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 > > ---------------------------------------------------------------------- > 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
