Re: John Ehrman Assembler Text
arg. the link URL didn't come through the first time. I googled for "assembler language resources marist". The first link was https://idcp.marist.edu/assembler-resources That looks to be what you want? On Thursday, August 13, 2020, 8:24:25 AM EDT, Tony Thigpen wrote: During a PC crash, I have lost a bunch of softcopy manuals including my copy of John's book and the downloadable material. It appears that Marist has re-done their web pages and the originals are MIA. Did anyone put these on another web page somewhere? Tony Thigpen John Ehrman wrote on 4/21/16 3:08 PM: > Some materials that may be useful to teachers of IBM mainframe Assembler > Language are now available on the Marist College web site, along with the > text itself. > > The two items are PDFs with (1) lecture slides for Chapters 1-8 (sorry, I > ran out of time before I could do the rest), and (2) pages with > mini-slides (also ch. 1-8) followed by some notes lines where a lecturer > can jot notes for use when projecting the full-size slides. > > They are available at > http://idcp.marist.edu/enterprisesystemseducation/assemblerlanguageresources-1.html > > > and if you want to access them by a different route, try > http://idcp.marist.edu and then hover over "enterprise systems education" > to get a drop down where you can hover over "technical resources" which > will display another drop down where you can click on "assembler > resources" - that will take you to the URL page above. > > Many thanks to Angelo Corridori of Marist College for hosting the > materials, and to the many readers of these forums for their helpful and > generous comments. > > As I noted earlier, I'll be retiring from IBM at the end of May, so if you > have any comments or suggestions, please send them to me at > johnehrm...@gmail.com . > > I hope to do some consulting, so if you know of anyone who can use help > with Assembler Language training, consulting, or advice, please let me > know. Thanks. > > Regards... John > >
Re: John Ehrman Assembler Text
I googled for "assembler language resources marist". The first link was Assembler Resources - IDCP | | | | | | | | | | | Assembler Resources - IDCP | | | That looks to be what you want? On Thursday, August 13, 2020, 8:24:25 AM EDT, Tony Thigpen wrote: During a PC crash, I have lost a bunch of softcopy manuals including my copy of John's book and the downloadable material. It appears that Marist has re-done their web pages and the originals are MIA. Did anyone put these on another web page somewhere? Tony Thigpen John Ehrman wrote on 4/21/16 3:08 PM: > Some materials that may be useful to teachers of IBM mainframe Assembler > Language are now available on the Marist College web site, along with the > text itself. > > The two items are PDFs with (1) lecture slides for Chapters 1-8 (sorry, I > ran out of time before I could do the rest), and (2) pages with > mini-slides (also ch. 1-8) followed by some notes lines where a lecturer > can jot notes for use when projecting the full-size slides. > > They are available at > http://idcp.marist.edu/enterprisesystemseducation/assemblerlanguageresources-1.html > > > and if you want to access them by a different route, try > http://idcp.marist.edu and then hover over "enterprise systems education" > to get a drop down where you can hover over "technical resources" which > will display another drop down where you can click on "assembler > resources" - that will take you to the URL page above. > > Many thanks to Angelo Corridori of Marist College for hosting the > materials, and to the many readers of these forums for their helpful and > generous comments. > > As I noted earlier, I'll be retiring from IBM at the end of May, so if you > have any comments or suggestions, please send them to me at > johnehrm...@gmail.com . > > I hope to do some consulting, so if you know of anyone who can use help > with Assembler Language training, consulting, or advice, please let me > know. Thanks. > > Regards... John > >
Re: Case Study: IBM SYSTEM/360-370 ARCHITECTURE (1987)
Site-specific SVC to do so? On Saturday, August 8, 2020, 12:11:14 PM EDT, wrote: Interesting are the two paragraphs on page 302, bottom RHS. Case says that nobody used the ASCII capability of the S/360. Padegs says that "none of our operating systems were [sic] programmed to turn in the [ASCII] bit". So, no-one was able to use the ASCII facility. On 2020-08-08 12:19, Jim Mulder wrote: > https://www.cs.tufts.edu/comp/150FP/archive/alfred-spector/spector87ibm.pdf > > > Jim Mulder z/OS Diagnosis, Design, Development, Test IBM Corp. > Poughkeepsie NY
Re: Structured programing macros for MVS 3.8?
I did not realize that XF and F were different. Yes, I am using IFOX00. On Thursday, June 4, 2020, 5:48:22 PM EDT, Seymour J Metz wrote: I can't offer any guidance choosing between them, but G is just F with some performance tweaks, so anything running on one should run on the other. However, if XF also comes into the picture then there are some compatibility issues. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Doug Wegscheid [dwegsch...@sbcglobal.net] Sent: Thursday, June 4, 2020 5:17 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Structured programing macros for MVS 3.8? I just read the article that Sam Golob wrote about using structured programming macros, as well as the discussion from last month. Several alternatives were called out: - Kessler's Concept 14 - Dan Snyder's collection - Clemson University - Yale HAL Before I start digging into *all* of these to figure out which I want to use, can anyone warn me away from any of them? I am constrained to using Assembler F and Waterloo Assembler G (MVS 3.8J system)...
Structured programing macros for MVS 3.8?
I just read the article that Sam Golob wrote about using structured programming macros, as well as the discussion from last month. Several alternatives were called out: - Kessler's Concept 14 - Dan Snyder's collection - Clemson University - Yale HAL Before I start digging into *all* of these to figure out which I want to use, can anyone warn me away from any of them? I am constrained to using Assembler F and Waterloo Assembler G (MVS 3.8J system)...
Re: Convert *signed* EBCDIC to packed decimal
those would be helpful, please, yes! On Thursday, June 4, 2020, 12:08:45 PM EDT, Dan at Poodles wrote: If you need/want the other compatibility MACROS and subroutines, just let me know. -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Doug Wegscheid Sent: Thursday, June 4, 2020 10:55 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Convert *signed* EBCDIC to packed decimal Binyamin, Dan, thanks. I *am* currently using ASSIST to get things prototyped, so this will go *really* far in helping me out. Thanks. On Thursday, June 4, 2020, 11:52:18 AM EDT, Dan at Poodles wrote: Subroutine DECO: V100 TITLE 'DECO' 00010001 * PUNCH ' CATALR DECO' 00020001 DECO CSECT 00030001 **--> MODULE : DECO EXTENDED DECIMAL OUTPUT CONVERSION MODULE * * * 00040001 * DECO IS CALLED BY MACRO XDECO TO CONVERT A REGISTER * 00050001 * VALUE TO EDITED DECIMAL IN A 12 BYTE AREA, WITH SIGN. * 00060001 * ENTRY CONDITIONS : * 00070001 * R14= ADDRESS OF XDECOB DSECT CREATED BY XDECO * 00080001 * R15= ENTRY POINT ADDRESS =V(DECO) * 00090001 * EXIT CONDITIONS : * 0011 * EDITED 12-BYTE RESULT OF REGISTER ARGUMENT STORED AT ADDRESS ARG. * 00110001 * USES DSECT: XDECOB * 00120001 * NAMES: XXDO * 00130001 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00140001 USING *,15 NOTE ENTRY POINT USING FOR BASE 00150001 USING XDECOB,14 NOTE XDECO CONTROL BLOCK 00160001 STM 1,2,XXDOSAVE SAVE WORK REGISTERS 00170001 LR 2,0 MOVE @ AREA WHERE CAN BE USED 00180001 L 0,XDECOV GET VALUE TO BE CONVERTED 00190001 CVD 0,XXDODWOR CONVERT THE VALUE 0021 MVC 0(12,2),XXDODECP MOVE EDIT PATTERN IN 00210001 LA 1,11(2) SET UP FOR NEG NUMBER FOR EDMK 00220001 EDMK 0(12,2),XXDODWOR+2 EDIT THE VALUE OVER 00230001 BNM XXDORETN SKIP INSERTION OF - IF >= 0 00240001 BCTR 1,0 MOVE @ POINTER BACK 1 00250001 MVI 0(1),C'-' INSERT - IN FRONT OF FIRST DIGIT 00260001 XXDORETN LM 1,2,XXDOSAVE RESTORE WORKING REGS 00270001 SPM 14 RESTORE ORIGINAL COND CODE 00280001 B XDECORET RETURN TO CALLING XDECO 00290001 SPACE 1 0031 XXDODECP DC X'402020202020202020202120' EDIT PATTERN 00310001 XXDODWOR DS D WORKAREA 00320001 XXDOSAVE DS 2F SAVE AREA FOR REGS 1-2 00330001 DROP 14,15 DROP BASE REGISTERS 00340001 EJECT 00350001 XDECOB DSECT 00360001 **--> DSECT : XDECOB CONTROL BLOCK CREATED BY XDECO MACRO * * * * * 00370001 * AN XDECOB IS CREATED FOR EACH XDECO CALL, AND CONTAINS THE * 00380001 * @ DECO MODULE, SAVEWORDS FOR REGS R14,R15,R0, AND A WORD * 00390001 * FOR THE VALUE TO BE CONVERTED TO DECIMAL. * 0041 * XDECOB IS USED ONLY IN MODULE DECO. * 00410001 * GENERATION: XDECO * 00420001 * NAMES: XDECO--- * 00430001 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00440001 DS V(DECO) ADCON TO GET HERE 00450001 DS 3F SAVE AREA FOR REGS 14,15,0 00460001 XDECOV DS F VALUE FOR CONVERSION 00470001 XDECORET LM 14,0,4(14) RETURN POINT @ 00480001 END , 00490001
Re: Convert *signed* EBCDIC to packed decimal
Binyamin, Dan, thanks. I *am* currently using ASSIST to get things prototyped, so this will go *really* far in helping me out. Thanks. On Thursday, June 4, 2020, 11:52:18 AM EDT, Dan at Poodles wrote: Subroutine DECO: V100 TITLE 'DECO' 00010001 * PUNCH ' CATALR DECO' 00020001 DECO CSECT 00030001 **--> MODULE : DECO EXTENDED DECIMAL OUTPUT CONVERSION MODULE * * * 00040001 * DECO IS CALLED BY MACRO XDECO TO CONVERT A REGISTER * 00050001 * VALUE TO EDITED DECIMAL IN A 12 BYTE AREA, WITH SIGN. * 00060001 * ENTRY CONDITIONS : * 00070001 * R14= ADDRESS OF XDECOB DSECT CREATED BY XDECO * 00080001 * R15= ENTRY POINT ADDRESS =V(DECO) * 00090001 * EXIT CONDITIONS : * 0011 * EDITED 12-BYTE RESULT OF REGISTER ARGUMENT STORED AT ADDRESS ARG. * 00110001 * USES DSECT: XDECOB * 00120001 * NAMES: XXDO * 00130001 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00140001 USING *,15 NOTE ENTRY POINT USING FOR BASE 00150001 USING XDECOB,14 NOTE XDECO CONTROL BLOCK 00160001 STM 1,2,XXDOSAVE SAVE WORK REGISTERS 00170001 LR 2,0 MOVE @ AREA WHERE CAN BE USED 00180001 L 0,XDECOV GET VALUE TO BE CONVERTED 00190001 CVD 0,XXDODWOR CONVERT THE VALUE 0021 MVC 0(12,2),XXDODECP MOVE EDIT PATTERN IN 00210001 LA 1,11(2) SET UP FOR NEG NUMBER FOR EDMK 00220001 EDMK 0(12,2),XXDODWOR+2 EDIT THE VALUE OVER 00230001 BNM XXDORETN SKIP INSERTION OF - IF >= 0 00240001 BCTR 1,0 MOVE @ POINTER BACK 1 00250001 MVI 0(1),C'-' INSERT - IN FRONT OF FIRST DIGIT 00260001 XXDORETN LM 1,2,XXDOSAVE RESTORE WORKING REGS 00270001 SPM 14 RESTORE ORIGINAL COND CODE 00280001 B XDECORET RETURN TO CALLING XDECO 00290001 SPACE 1 0031 XXDODECP DC X'402020202020202020202120' EDIT PATTERN 00310001 XXDODWOR DS D WORKAREA 00320001 XXDOSAVE DS 2F SAVE AREA FOR REGS 1-2 00330001 DROP 14,15 DROP BASE REGISTERS 00340001 EJECT 00350001 XDECOB DSECT 00360001 **--> DSECT : XDECOB CONTROL BLOCK CREATED BY XDECO MACRO * * * * * 00370001 * AN XDECOB IS CREATED FOR EACH XDECO CALL, AND CONTAINS THE * 00380001 * @ DECO MODULE, SAVEWORDS FOR REGS R14,R15,R0, AND A WORD * 00390001 * FOR THE VALUE TO BE CONVERTED TO DECIMAL. * 0041 * XDECOB IS USED ONLY IN MODULE DECO. * 00410001 * GENERATION: XDECO * 00420001 * NAMES: XDECO--- * 00430001 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00440001 DS V(DECO) ADCON TO GET HERE 00450001 DS 3F SAVE AREA FOR REGS 14,15,0 00460001 XDECOV DS F VALUE FOR CONVERSION 00470001 XDECORET LM 14,0,4(14) RETURN POINT @ 00480001 END , 00490001
Re: z/OS HLASM: EQU for statement labels
please be gentle with the person relatively inexperienced with S/360 assembler. Why do they say not to use multiple base registers? cache/paging/a sign that your routine is too big to maintainable/something else? On Thu, 4 Jun 2020 12:23:18 +, Seymour J Metz wrote: >> The XPL compiler used multiple base registers. > >Yes, and in those days I was guilty as well. But eventually it sunk in why >they said not to. > > >-- >Shmuel (Seymour J.) Metz >http://mason.gmu.edu/~smetz3
Re: Convert *signed* EBCDIC to packed decimal
True, but in those days, core was about $1 a byte (I think, I can't find anything to back that), renting plug compatible LCS was $6000/megabyte/month (found an old ad), so the compactness of the instructions also was a big plus. Could have done without those instructions by putting the ED, EDMK, TR, TRT "subroutines" into the OS to save memory, but would have taken a speed hit on the call. On Thursday, June 4, 2020, 5:55:33 AM EDT, wrote: > Most of the S/360 instructions were unnecessary; > all the SS character instructions, decimal, edit, translate > etc are redundant. > With the basic instruction set, all of these functions can be > provided. Nevertheless, life is a lot easier with them. And instructions that do more than a just a basic operation (especially including TR, TRT, ED, EDMK) not only simplify programming, they run faster. > ED and EDMK sparked intense (and occasionally civil) discussion > between CPU engineers, the architecture group, and the languages > groups. The result of such discussions is probably why we decided not > to enhance these ops with ASCII or UNICODE versions.
Re: Convert *signed* EBCDIC to packed decimal
nope, not z15. s/370 (MVS 3.8J/Hercules). Thanks for the details, that confirms what I was thinking... On Wednesday, June 3, 2020, 5:18:31 PM EDT, MELVYN MALTZ <072265160664-dmarc-requ...@listserv.uga.edu> wrote: Hi Doug, By s/370 I hope you mean z15...there are a few new instructions :-) I would recommend getting z390, a free Assembler emulator, go here www.z390.org You get me for free as a mentor as well :-) Contact me directly, not through this forum To your problem... Yes, you do need to scan for a sign, If you find a plus just set it to X'F0' If you find a minus, set it to X'F0' and use NI to set the last byte to X'nD' Then use CDZT or CXZT to convert to DFP Using DFP is better than the old packed instructions I expect there will be dissenters Melvyn Maltz. - Original Message - From: "Doug Wegscheid" To: Sent: Wednesday, June 03, 2020 9:26 PM Subject: Convert *signed* EBCDIC to packed decimal > I'm getting reacquanted with s/370 assembler after a 40 years hiatus. > I'm working through some examples from my Kacmar book, and need to convert > from a character string to a packed decimal. PACK almost works, except it > does not handle a leading (or any) plus or minus signed. > Is there a *simple* way to do, or am I going to have to scan for the sign > characters myself, remove them, pack the result, and flip the sign if it > was negative? > Alternatively, is there some accessible prior art out there?
Re: Convert *signed* EBCDIC to packed decimal
I was pretty sure PACK wasn't gonna work by itself. I don't need exhaustive error checking; I suspect some TRT magic will help me find the signs, I remember if one of them was a '-', turn the sign characters into zeros, PACK, negate if necessary. Can't believe I did this everyday (though I almost never had to deal w/ decimal!). > On Wednesday, June 3, 2020, 4:54:48 PM EDT, Mike Shaw wrote: > You do have to detect and handle leading plus/minus signs in EBCDIC strings> > yourself. PACK won't do it.
Convert *signed* EBCDIC to packed decimal
I'm getting reacquanted with s/370 assembler after a 40 years hiatus. I'm working through some examples from my Kacmar book, and need to convert from a character string to a packed decimal. PACK almost works, except it does not handle a leading (or any) plus or minus signed. Is there a *simple* way to do, or am I going to have to scan for the sign characters myself, remove them, pack the result, and flip the sign if it was negative? Alternatively, is there some accessible prior art out there?