Re: John Ehrman Assembler Text

2020-08-13 Thread Doug Wegscheid
 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

2020-08-13 Thread Doug Wegscheid
 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)

2020-08-08 Thread Doug Wegscheid
 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?

2020-06-04 Thread Doug Wegscheid
 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?

2020-06-04 Thread Doug Wegscheid
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

2020-06-04 Thread Doug Wegscheid
 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

2020-06-04 Thread Doug Wegscheid
 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

2020-06-04 Thread Doug Wegscheid
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

2020-06-04 Thread Doug Wegscheid
 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

2020-06-03 Thread Doug Wegscheid
 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

2020-06-03 Thread Doug Wegscheid
 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

2020-06-03 Thread Doug Wegscheid
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?