Re: Subpool 0 Usage

2024-07-11 Thread Mike Shaw
Janko,

I think that is total BS. Subpool 0 (key 8) is the bread and butter of
GETMAIN requests for non-APF authorized code. I have used that subpool for
GETMAINs for over 35 years in my code.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Jul 11, 2024 at 4:04 PM Janko Kalinic 
wrote:

> It was from a 2019 GSE conference presentation.
>
> On Thu, Jul 11, 2024 at 3:01 PM Binyamin Dissen <
> 1773bcccb823-dmarc-requ...@listserv.uga.edu> wrote:
>
> > On Thu, 11 Jul 2024 14:14:02 -0500 Janko Kalinic <
> > the.pds.comm...@gmail.com>
> > wrote:
> >
> > :>I just read that you should NOT use Subpool 0 for anything if possible.
> > :>Thoughts?
> >
> > Where did you read this?
> >
> > --
> > Binyamin Dissen 
> > http://www.dissensoftware.com
> >
> > Director, Dissen Software, Bar & Grill - Israel
> >
>


Re: BXLE usage assistance

2024-06-04 Thread Mike Shaw
Mark,

You are coding a length (the 2) in the 2nd operand of your LH
instruction...that 2 is being used by the machine as register 2. LH always
loads two bytes.

Mike Shaw
MVS/QuickRef Support
Chisoft


On Tue, Jun 4, 2024, 1:38 PM Mark Young  wrote:

> Thanks for all the replies.  See the code sample below.  I'm getting stuck
> trying to get the length for the next table entry into R8 so the BXLE
> instruction loop the correct length.  Let me know if I'm on the correct
> path, or I'm in never never land.   Also, the --->>>  <<<--- is
> where I think I'm getting stuck.
>
> TESTBXLE CSECT ,
> TESTBXLE AMODE 31
> TESTBXLE RMODE ANY
>  SAVE  (14,12),,TESTBXLE*&SYSDATE*&SYSTIME
>  BALR  R12,0   R12 - BASE REGISTER
>  USING *,R12   ESTABLISH ADDRESSABILITY
>  STR13,SAVEAREA+4  SAVEAREA
>  LAR13,SAVEAREAPOINTERS
> *
> CHKOPTS1 LAR7,TABLE1+4 ADDRESS OF FIRST ELEMENT
>  LHR8,TABLE1+2 LENGTH OF TABLE ENTRY
>  LAR9,TABLE1+2 ADDRESS OF BEGINNING OF TABLE
>  AHR9,TABLE1   CALC ADDR OF END OF TABLE
> LOOP1CLC   0(9,R7),=C'F'
>  BEFOUND   ENTRY FOUND = RC=0
> --->>>   LHR8,0(2,R7)  <<<---  POINT TO LENGTH OF NEXT ENTRY
>  BXLE  R7,R8,LOOP1 LOOPING UNTIL OPT FOUND
>  B NOTFND  ENRTY NOT FOUND ? RC=8
> *
> FOUNDL R13,SAVEAREA+4
>  RETURN (14,12),RC=0
> *
> NOTFND   L R13,SAVEAREA+4
>  RETURN (14,12),RC=8
> *
>  PRINT NOGEN
>  YREGS
> SAVEAREA DS18F
> TABLE1   DS0F
>  DCXL2'008F'
>  DCXL2'000E',CL14'AA'
>  DCXL2'000F',CL15'BBB'
>  DCXL2'0011',CL17'C'
>  DCXL2'000D',CL13'D'
>  DCXL2'0017',CL23'EEE'
>  DCXL2'0009',CL9'F'
>  DCXL2'0013',CL19'GGG'
>  DCXL2'0019',CL25'H'
>  DCXL2'0008',CL8''
>  END   TESTBXLE
>
>
> Thanks,
> Mark.
>


Re: BXLE usage assistance

2024-05-29 Thread Mike Shaw
Mark,

Here is a code fragment where we use BXLE (fixed width font, hope this
comes through):

 R:A  030D84068  USING VERVPR,R10
ESTAB BASE REG
00311E 5840 D0D8001FC  4069  L R4,VPRTADDR
 Point at exclude stack
003122 4160 003200032  4070  LAR6,VPRLTH
 Get length of one index entry
003126 5870 D0DC00200  4071  L R7,VPRTLAST
 Point at exclude stack
00312A 1B764072  SRR7,R6
 Back up to last usable entry
 R:4  04073  USING VPRDSCT,R4
DSECT the first VPR table entry
 R:1  04074  USING QWRFDSCT,R1
 DSECT the current index entry
00312C 4075 CKIDXEXC DS0H

00312C D531 4000 1010 0 00010  4076  CLC
VPRVEN(VPRLTH),QWRFVEN Compare all three fields
003132 4780 A06A03142  4077  BECKIDXMAT
Yes, we have a match
003136 8746 A0540312C  4078  BXLE  R4,R6,CKIDXEXC
Check all exclude stack entries
00313A 4079 CKIDXNOM DS0H

00313A 41F0 00044  4080  LAR15,4
 Set no match RC
00313E 47F0 A06C03144  4081  B CKIDXXIT
Go return to caller
003142 4082 CKIDXMAT DS0H

003142 17FF4083  XRR15,R15
 Set match RC
003144 4084 CKIDXXIT DS0H

003144 50FA 000CC  4085  STR15,12(R10)
 SET RETURN CODE
003148 98EC A0088  4086  LMR14,R12,8(R10)
RESTORE REGISTERS
00314C 07FE4087  BRR14
 RETURN
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.



On Wed, May 29, 2024 at 3:04 PM Mark <
176dcd91c5b1-dmarc-requ...@listserv.uga.edu> wrote:

> Hello,
>
> I'm writing an exit where I have to scan through an array of variable
> length entries in a table where the format is as below (all the entires are
> readable characters)
>
> First 2 bytes = total length of array in hex
> then
> 2 bytes for length of first entry in hex
> First Entry in table
> 2 bytes for length of 2nd entry in hex
> 2nd entry in table
> 2 bytes for length of 3rd entry in hex
> 3rd entry in table.
> repeats until end of array.
>
> I'm thinking a BXLE will work, but getting stuck on exactly how to code
> it.  any help is greatly appriciated.
>
> Thanks,
> Mark.
> .
>


Re: Instructions by Machine

2024-05-12 Thread Mike Shaw
This _gold_ for ISVs writing code that must execute on many different z
models. Thank you Dan!

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.



On Sat, May 11, 2024 at 4:07 PM Dan Greiner  wrote:

> Back when I was a full-time IBMer, I had a spreadsheet with all
> z/Architecture instructions sorted by the machine in which they were
> introduced. Unfortunately, this included IBM-confidential instructions, and
> I was not able to take it with me when I retired.
>
> I recently spent a few hours massaging the instruction list in Appendix B3
> of the z/Architecture Principles of Operation, and correlating the facility
> codes listed with the machine in which the instruction was introduced. You
> can find the results in a spreadsheet on my Google drive:
>
>
> https://docs.google.com/spreadsheets/d/1aU-4ndTXTEf17hCDLiqSqXfFENr39rIV/edit?usp=sharing&ouid=104012833061983447284&rtpof=true&sd=true
>
> Note, there may be some inaccuracies for instructions that were added by a
> mid-life kicker, for which the documentation did not appear until the next
> major machine was released.
>


Re: Complex immediate fields

2024-03-29 Thread Mike Shaw
Wow. Truly impressive.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Fri, Mar 29, 2024, 7:48 PM Ngan, Robert (DXC Luxoft) 
wrote:

> When I first saw "Complex immediate fields", I thought of this code one of
> our emulation macros used to generate:
>
>   CGIJL R01,132-(L'BKwa_Module+1+L'BK_LPAOS+1),BK250
> + CGHI  R01,(1-132-(L'BKwa_Module+1+L'BK_LPAOS+1))-((132-(L'X
> +   BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+256-132-(L'BKX
> +   wa_Module+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BK_LX
> +   PAOS+1))/256)*256)+256)/256)*256)/128))*(((132-(L'BKwa_MX
> +   odule+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BK_LPAOSX
> +   +1))/256)*256)+256-132-(L'BKwa_Module+1+L'BK_LPAOS+1X
> +   ))-((132-(L'BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+256)/X
> +   256)*256)+132-(L'BKwa_Module+1+L'BK_LPAOS+1))-((132-X
> +   (L'BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+256-132-(LX
> +   'BKwa_Module+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BX
> +   K_LPAOS+1))/256)*256)+256)/256)*256)/128)*132-(L'BKwX
> +   a_Module+1+L'BK_LPAOS+1))-((132-(L'BKwa_Module+1+L'BK_LPX
> +   AOS+1))/256)*256)+256-132-(L'BKwa_Module+1+L'BK_LPAOX
> +   S+1))-((132-(L'BKwa_Module+1+L'BK_LPAOS+1))/256)*256)+25X
> +   6)/256)*256)-256)+((132-(L'BKwa_Module+1+L'BK_LPAOS+1))+X
> +   2147483520)*0+((132-(L'BKwa_Module+1+L'BK_LPAOS+1))-2147X
> +   483520)*0Emulated z10 CGIJL instruction
> + JLBK250 ...
>
>
> Robert Ngan
> DXC Luxoft
>
> -Original Message-
> From: IBM Mainframe Assembler List  On
> Behalf Of Seymour J Metz
> Sent: Friday, March 29, 2024 11:57
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Complex immediate fields
>
> Back in he Assembler XF era I would code something like
>
>  LAR0,L'DEST
>  LAR1,DEST
>  XRR15,R15
>  ICM   R15,8,=C' '
>  MVCL  R0,R14
>
> On current hardware there is an IILF (LFI) instruction, and I would like
> to use it instead of the XR/ICM sequence. I consider
>
>  LFI   R15,X'4000'
>
> to be ugly, and would like to be able to either use an immediate field
> combing CL1 and XL3 pieces or to refer to an EQU defining that combination.
> Is there any way to do that in HLASM?
>
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
>
>


Re: ISPFHTML and z/OS 3.1

2023-12-19 Thread Mike Shaw
Yves,

I installed the CAPTURE CLIST and the ISPFHTML load module on a vanilla
z/OS V3R1 system; I get the same S0C1 ABEND.

Digging deeper, the ABEND is caused when ISPFHTML branches to a x'184'
offset into the TLD, where there is data, not a valid op code. Instead of
the code that ISPFHTML expects to branch to, the TLD at x'184' offset
contains this:

l 9r?+184 x l(64)
 0004C19C.  0003ABC8   00039858
00039CA4 0006 5000 000615F8
 0004C1BC.  00064FE0  C9E2D7D7 F0F0F140
000C   007CBA68

The PSW is pointing to the X'AB' at x'186' offset into the TLD.

I don't see a way around this one.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Tue, Dec 19, 2023 at 1:34 PM Rene BRANDT <
14a2846c6667-dmarc-requ...@listserv.uga.edu> wrote:

>  Yves,
>
> Do you have the same display in 2.4?
>
> René
>
>
>  Le mardi 19 décembre 2023 à 17:44:16 UTC+1, Yves Colliard <
> yves.colli...@ycos.de> a écrit :
>
>  Bonjour René,
>
> oui je pense que vous avez raison - you could be right... is it documented?
>
> 00035000 000183A8 000184A8 000185A8 000186A80B4782C8 0135 E3D3C4F1
> 00035018  *..cy..dy..ey..fy..bHTLD1..&.*
> 00035020 00035018 0B495AF0  00035018000429F0 000429D8 000157B0
> 00015810  *..&...Ü0..&0...Q*
> 00035040  00034FE8 00015AD8 0001ABD800015000 00016C48 0003D4C0
>   *..!Y..ÜQ...Q..&...%...Mä*
> 00035060 00035418 00034E70 0004390C  00035AD8 0003DC58
> 0B4AB068  *..+...ÜQ.Ä..*
> 00035080 000163F4 000164F4  00035BE000035DE8 00035E80 00040318
>   *...4...4..$Ö..)Y..;.*
> 000350A0   5000 0400C203 FA00 000D004B
> 006D  *..&...B_*
> 000350C0 0001 000361E8 26C0 003E00A0 003E 0058
> 003D  *../Y...ä*
> 000350E0 0058 003D 00A0 00010025 26C0 
> 00036210  *...ä*
> 00035100  0401  0003DCBD  
>   **
> 00035120      
>   **
> 00035140    060726480044  
> 02C0  *. .ä*
> 00035160 0B4AB5CB   C9E2D9C5 C4C4C5F4 C9E2D9C5
> C4C4C5F4  *.Ä..ISREDDE4ISREDDE4*
> 00035180 C9E2D9F2 D4C1C3D9 C9E2D9E9 F0F0F140  
> 0001ABC8  *ISR2MACRISRZ001 ...H*
> 000351A0   00D49858 00D49CA40006D000 5000 0006E5F8
> 00071FE0  *.Mq..M.u..ü...&...V8...Ö*
> 000351C0  C9E2D9E9 F0F0F140   00BCDB70
> 80BDE298  *ISRZ001 ..Sq*
> 000351E0 4000 80BDE298    
> 00BBAFE8  * .Sq...Y*
> 00035200 84B6DAF8 00036108  BAF885E000D8 85DA10D8 
>   *d..8../8eÖ.Qe..Q*
> 00035220  00036B20 00BA9F60 00064768 4000 
> C9E2D7C6  *..,- ...ISPF*
> 00035240 C8E3D4D3   00BCDB70 4000 FC00
>   *HTML ...*
>
> here the data. Pointing to TLD - something we know...
> But even if we can "fix" the "begin"... what about later...
>
> best regards - salutations
> Yves
>
>


Re: ISPFHTML and z/OS 3.1

2023-12-19 Thread Mike Shaw
Yves,

On our z/OS V2R4 system, ISPFHTML does not fail and works as advertised.

You pointed out that upon entry, R1 contains the address of a TLD (Terminal
Logical Descriptor) which is the ISPF control block associated with each
logical screen under ISPF.  On my system, ISPFHTML code shortly after entry
does a BAL to x'184' into the TLD, where on my system this code fragment
resides:

58F09190L   R15,X'190(,R9)
07FF   BR R15
58E0 9194   L   R14,X'194(,R9)
07FE   BR R14
00030858

In the TLD Yves displayed from his system, at x'184' offset there is this,
instead of the code above:

D4C1C3D9

which is c'MACR', not code.

The TLD no longer holds code at that offset, but character strings.

Doug used to work in ISPF development at IBM. His code is using knowledge
he had of the TLD format that us mere mortals don't have. Looks like the
TLD may have changed under z/OS V3R1?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Tue, Dec 19, 2023 at 11:44 AM Yves Colliard 
wrote:

> Bonjour René,
>
> oui je pense que vous avez raison - you could be right... is it documented?
>
> 00035000 000183A8 000184A8 000185A8 000186A80B4782C8 0135 E3D3C4F1
> 00035018   *..cy..dy..ey..fy..bHTLD1..&.*
> 00035020 00035018 0B495AF0  00035018000429F0 000429D8 000157B0
> 00015810   *..&...Ü0..&0...Q*
> 00035040  00034FE8 00015AD8 0001ABD800015000 00016C48 0003D4C0
>    *..!Y..ÜQ...Q..&...%...Mä*
> 00035060 00035418 00034E70 0004390C  00035AD8 0003DC58
> 0B4AB068   *..+...ÜQ.Ä..*
> 00035080 000163F4 000164F4  00035BE000035DE8 00035E80 00040318
>    *...4...4..$Ö..)Y..;.*
> 000350A0   5000 0400C203 FA00 000D004B
> 006D   *..&...B_*
> 000350C0 0001 000361E8 26C0 003E00A0 003E 0058
> 003D   *../Y...ä*
> 000350E0 0058 003D 00A0 00010025 26C0 
> 00036210   *...ä*
> 00035100  0401  0003DCBD  
>    **
> 00035120      
>    **
> 00035140    060726480044  
> 02C0   *. .ä*
> 00035160 0B4AB5CB   C9E2D9C5 C4C4C5F4 C9E2D9C5
> C4C4C5F4   *.Ä..ISREDDE4ISREDDE4*
> 00035180 C9E2D9F2 D4C1C3D9 C9E2D9E9 F0F0F140  
> 0001ABC8   *ISR2MACRISRZ001 ...H*
> 000351A0   00D49858 00D49CA40006D000 5000 0006E5F8
> 00071FE0   *.Mq..M.u..ü...&...V8...Ö*
> 000351C0  C9E2D9E9 F0F0F140   00BCDB70
> 80BDE298   *ISRZ001 ..Sq*
> 000351E0 4000 80BDE298    
> 00BBAFE8   * .Sq...Y*
> 00035200 84B6DAF8 00036108  BAF885E000D8 85DA10D8 
>    *d..8../8eÖ.Qe..Q*
> 00035220  00036B20 00BA9F60 00064768 4000 
> C9E2D7C6   *..,- ...ISPF*
> 00035240 C8E3D4D3   00BCDB70 4000 FC00
>    *HTML ...*
>
> here the data. Pointing to TLD - something we know...
> But even if we can "fix" the "begin"... what about later...
>
> best regards - salutations
> Yves
>


Re: ISPFHTML and z/OS 3.1

2023-12-18 Thread Mike Shaw
Yves,

Any regs and PSW you can share?

The module was last compiled in the year 2000 and is written in PL/X; no
source AFAIK.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Mon, Dec 18, 2023 at 11:12 AM Yves Colliard 
wrote:

> Hello!
>
> since years I'm using ISPFHTML from Doug Nadel - so a nice tool. But now -
> using z/OS 3.1 - I got an Abend S0C1...
> Do someone know something about:
> - is the source of ISPFHTML somewhere?
> - what did change in ISPF that could produce this problem... this could be
> the bigger issue using z/OS 3.1
>
> Many thanks and regards
> Yves Colliard
>


Re: Is True Skip-Sequential Processing Possible with RECFM=FB,DSORG=PS?

2023-11-11 Thread Mike Shaw
We do this with DSORG=PS and RECFM=F now.

 We load the file with QSAM and keep track of RBNs as we go. At EOF we
rewrite index blocks to predetermined locations in the file with EXCP, then
at READ time we use EXCP to read blocks and convert RBNs to CCHHRs based on
the device geometry as we go.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd

On Sat, Nov 11, 2023, 8:58 AM David S.  wrote:

> To help resolve a question posted to a LinkedIn group I manage:
> www.linkedin.com/feed/update/urn:li:groupPost:910927-7128598004344786944
> ... I'd like to find out if there's any way to achieve *true*
> Skip-Sequential processing with a Fixed Block Sequential File with a fairly
> short record length (i.e. DCB=(DSORG=PS,RECFM=FB,LRECL=80)?
> For example: Begin sequential processing at record number 100, *without*
> having to read the first 99 records.
> Note: We already know certain VSAM formats can do this, but the file in
> question is a DSORG=PS *Sequential* file, *not* VSAM. This is a rock-solid
> requirement and cannot be changed. We also already know how certain
> utilities such as SORT and REXX can *mimic* skip-sequential functionality
> by *discarding* unwanted records until the specified record number is
> reached. This is a likewise rock-solid requirement. Sequential processing
> *must* begin at specified starting point and there can be *no* reading of
> any records prior to that point.
> My gut feeling is it *cannot* be done - at least not with RECFM=FB.  It
> *might* be possible with RECFM=F, but efficiency would then be so
> compromised it would  probably outweigh any advantage from *true*
> skip-sequential processing.
>


Re: Tutorials for z and HLASM?

2023-10-06 Thread Mike Shaw
We have most of the non-privileged HLASM instructions and directives and
HLASM JCL documented individually in MVS/QuickRef.  A description of each
instruction, with an example of how to use it, can be fetched using the
mnemonic or the op code, e.g.

QW L
QW LARL
QW USING
QW PACK
QW LTORG
QW EB1C (for RLLG)

'course, the student needs to have access to z/OS :-)

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Oct 5, 2023 at 9:34 PM Seymour J Metz  wrote:

> Are there any good online tutorials for unprivileged z/Architecture and
> HLASM for programmers with no prior assembler experience? Ideally I'd like
> something faster paced than Programming 101, and several of us will be
> available as mentors, workload permitting.


Re: IARV64 REQUEST=DISCARDDATA Question

2023-09-27 Thread Mike Shaw
Thank you Peter.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Wed, Sep 27, 2023 at 12:34 PM Peter Relson  wrote:

> Mike Shaw wrote
> 
> The doc does not say what that memory object's pages contain just after
> IARV64 REQUEST=GETSTOR is issued.
> 
>
> The "doc" actually does say so. But it's not surprising you didn't notice
> it, because it's in the "guide" (and not in a section specifically for
> IARV64) rather than in the "reference" for IARV64.
>
> The macro has "The initial value of storage within a memory object is
> binary zero."
> The assembler services guide has "IARV64 GETSTOR service creates memory
> objects; storage is cleared to zeros".
>
> We will look into updating the reference's GETSTOR function to have the
> same information.
>
> Peter Relson
> z/OS Core Technology Design
>


Re: IARV64 REQUEST=DISCARDDATA Question

2023-09-27 Thread Mike Shaw
Thanks Binyamin and Ed. Clear explanations.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Wed, Sep 27, 2023 at 3:23 AM Binyamin Dissen 
wrote:

> As this function can never return partial pages, it will always be zero
> upon
> first use.
>
> On Tue, 26 Sep 2023 17:27:30 -0400 Mike Shaw 
> wrote:
>
> :>Based on the IARV64 doc in the z/OS Assembler Services Guide and in the
> :>z/OS Assembler Services Reference, an IARV64 REQUEST=GETSTOR should be
> :>followed by an IARV64 REQUEST=DISCARDDATA,CLEAR=YES in order to be
> certain
> :>that the obtained memory object contains no residual data.
> :>
> :>The doc does not say what that memory object's pages contain just after
> :>IARV64 REQUEST=GETSTOR is issued. Does anyone on the list know?
> :>
> :>Mike Shaw
> :>MVS/QuickRef Support Group
> :>Chicago-Soft, Ltd.
>
> --
> Binyamin Dissen 
> http://www.dissensoftware.com
>
> Director, Dissen Software, Bar & Grill - Israel
>


IARV64 REQUEST=DISCARDDATA Question

2023-09-26 Thread Mike Shaw
Based on the IARV64 doc in the z/OS Assembler Services Guide and in the
z/OS Assembler Services Reference, an IARV64 REQUEST=GETSTOR should be
followed by an IARV64 REQUEST=DISCARDDATA,CLEAR=YES in order to be certain
that the obtained memory object contains no residual data.

The doc does not say what that memory object's pages contain just after
IARV64 REQUEST=GETSTOR is issued. Does anyone on the list know?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: ChatGPT "knows" HLASM

2023-06-01 Thread Mike Shaw
bard.google.com is much worse:

--
Sure, here is a sample HLASM program that prints the message "Hello,
world!" to the console:

Code snippet

HLASM program to print "Hello, world!"

* * *

CSECT

* Start of main program
MAIN:

* Print message
MVC SYSPRINT,MESSAGE
PUT SYSPRINT,(1)

* End of main program
END MAIN

* Message to be printed
MESSAGE:

DC C'Hello, world!'

Then it tries to provide an explanation and makes things even more obscure:

This program first defines a section called MAIN. This section contains the
main program code. The next statement, MVC SYSPRINT,MESSAGE, copies the
message Hello, world! to the memory location SYSPRINT. The next statement,
PUT SYSPRINT,(1), prints the contents of SYSPRINT to the console. The last
statement, END MAIN, marks the end of the main program.
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Assembler theology question

2023-06-01 Thread Mike Shaw
The second method is better; it's shorter (no USINGs). Simpler is better.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Jun 1, 2023 at 12:24 PM Phil Smith III  wrote:

> We've all seen (and written!) code like this:
>  USING PSA,R9
>  L R10,PSATOLD Get current TCB
>  DROP  R9
>
>  USING TCB,R10
>  L R9,TCBJSCB  Get JSCB
>  DROP  R10
>
> I've also seen (and probably written) the equivalent:
>  L R10,PSATOLD-PSA(,R9)Get current TCB
>  L R9,TCBJSCB-TCB(,R1) Get JSCB
>
> I like the latter because it's tighter to read, reduces the USING map,
> keeps you out of trouble if you decide to use R9 or R10 for something
> global, etc. But I can also see a theological argument that you really
> *are* using (USING?) the control block.
>
> Thoughts? (Yes, I *said* it was theology, so I'm prepared for religious
> arguments!)
>


Re: Blocking Low core access from Assembler programs

2023-03-27 Thread Mike Shaw
Syama,

This may help. It is a ZAD SLIP trap.

https://www.ibm.com/docs/en/zos/2.3.0?topic=traps-slip-zero-address-detection-zad

Mike Shaw
MVS/QuickRef Support
Chicago-Soft, Ltd.



On Mon, Mar 27, 2023, 6:47 PM syama prasad <
13f87d4b715f-dmarc-requ...@listserv.uga.edu> wrote:

> Hi,
> Is it possible to force an Assembler program to hit an access error if it
> tries to load data from the low core (page starting from address
> zero)?Assembler *PROCESS FLAG(PAGE0) " helps to find cases like MVC
> TARGET,1But will it be possible to have a run time detection and possibly a
> dump if the program tries to do things likeLA R5,1MVC
> TARGET,0(R5)Basically, any way to restrict access of an application program
> to PSA- first control block?
> Regards,Syama
>


Re: ASMA500 message question

2022-11-18 Thread Mike Shaw
Fear. Not wanting to try new things...I will try it.

Mike

On Fri, Nov 18, 2022 at 9:32 AM Seymour J Metz  wrote:

> What is your objection to GOFF and XOBJECT?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on
> behalf of Mike Shaw [quick...@gmail.com]
> Sent: Thursday, November 17, 2022 4:03 PM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Re: ASMA500 message question
>
> CATTR use requires GOFF object format, which I don't want to use.
>
> Mike
>
>
> On Thu, Nov 17, 2022 at 3:31 PM Seymour J Metz  wrote:
>
> > You need a CATTR with the proper alignment.
> >
> > ____
> > From: IBM Mainframe Assembler List  on
> > behalf of Mike Shaw 
> > Sent: Thursday, November 17, 2022 3:20 PM
> > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> > Subject: ASMA500 message question
> >
> > Everyone,
> >
> > This code fragment:
> >
> > 1C 4700 071  NOP   0
> > 20 0101  72  PR
> > 22   73  DC0LQ
> > *** ASMA500W Requested alignment exceeds section alignment  *
> > 22   74 QUAD@1   DCLQ'0'
> >
> > causes the *ASMA500W* message to be issued; it's description appears
> below:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > * ASMA500W Requested alignment exceeds section alignment
> >
> >   Explanation:  The section alignment is lower than that requested on the
> >  instruction and hence the actual alignment may not be honored.
> >
> >   System Action:  The requested alignment is ignored.
> >
> >   Programmer Response:  Change the requested alignment to be less than or
> >  equal to that of the section, or ensure that the desired alignment is
> >  achieved during program linking and loading.
> >    *
> > * Severity:  4  *
> >
> > Does anyone know what the 'section' mentioned in the message is? Is it a
> > reference to the current control section (CSECT)?
> >
> > I don't get it...all I want to do is get quadword boundary alignment for
> > the QUAD@1 constant.
> >
> > Mike Shaw
> > MVS/QuickRef Support Group
> > Chicago-Soft, Ltd.
> >
>


Re: Subject: ASMA500 message question

2022-11-18 Thread Mike Shaw
On Fri, Nov 18, 2022 at 7:50 AM Peter Relson  wrote:

>
> Why would you not want to use GOFF? I can think of only one module in all
> of z/OS that cannot use GOFF. I'll let guesses occur before providing the
> answer in a day or two.
>
> Fear of the unknown!

I will try it.

Mike S.


Re: ASMA500 message question

2022-11-17 Thread Mike Shaw
That's it Mike, thank you.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Nov 17, 2022 at 4:33 PM Mike Hochee  wrote:

> We ran into this several years ago and ended up adjusting SECTALGN across
> the board, which we were considering anyway.
>
> Pasted below is a post from Jonathan Scott about 6mos ago on the subject...
>
> HTH,
> Mike
>
> >Apr 22, 2022, 1:33:06 PM
> >to assembl...@listserv.uga.edu
> >Since APAR PH40885 you can simply suppress warning ASMA500W if
> >you don't want to be nagged about item alignment exceeding
> >SECTALGN, as the alignment warning no longer prevents the
> >expected code from being generated.
>
> >The section alignment for purposes of code generation is now
> >always assumed to be as strong as is needed, but the binder
> >alignment option is set based on SECTALGN and the warning is
> i>ssued if item alignment exceeds the binder section alignment.
>
> -Original Message-
> From: IBM Mainframe Assembler List  On
> Behalf Of Mike Shaw
> Sent: Thursday, November 17, 2022 4:04 PM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Re: ASMA500 message question
>
> Caution! This message was sent from outside your organization.
>
> CATTR use requires GOFF object format, which I don't want to use.
>
> Mike
>
>
> On Thu, Nov 17, 2022 at 3:31 PM Seymour J Metz  wrote:
>
> > You need a CATTR with the proper alignment.
> >
> > 
> > From: IBM Mainframe Assembler List 
> > on behalf of Mike Shaw 
> > Sent: Thursday, November 17, 2022 3:20 PM
> > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> > Subject: ASMA500 message question
> >
> > Everyone,
> >
> > This code fragment:
> >
> > 1C 4700 071  NOP   0
> > 20 0101  72  PR
> > 22   73  DC0LQ
> > *** ASMA500W Requested alignment exceeds section alignment  *
> > 22   74 QUAD@1   DCLQ'0'
> >
> > causes the *ASMA500W* message to be issued; it's description appears
> below:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > * ASMA500W Requested alignment exceeds section alignment
> >
> >   Explanation:  The section alignment is lower than that requested on
> > the  instruction and hence the actual alignment may not be honored.
> >
> >   System Action:  The requested alignment is ignored.
> >
> >   Programmer Response:  Change the requested alignment to be less than
> > or  equal to that of the section, or ensure that the desired alignment
> > is  achieved during program linking and loading.
> >*
> > * Severity:  4  *
> >
> > Does anyone know what the 'section' mentioned in the message is? Is it
> > a reference to the current control section (CSECT)?
> >
> > I don't get it...all I want to do is get quadword boundary alignment
> > for the QUAD@1 constant.
> >
> > Mike Shaw
> > MVS/QuickRef Support Group
> > Chicago-Soft, Ltd.
> >
>


Re: ASMA500 message question

2022-11-17 Thread Mike Shaw
CATTR use requires GOFF object format, which I don't want to use.

Mike


On Thu, Nov 17, 2022 at 3:31 PM Seymour J Metz  wrote:

> You need a CATTR with the proper alignment.
>
> 
> From: IBM Mainframe Assembler List  on
> behalf of Mike Shaw 
> Sent: Thursday, November 17, 2022 3:20 PM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: ASMA500 message question
>
> Everyone,
>
> This code fragment:
>
> 1C 4700 071  NOP   0
> 20 0101  72  PR
> 22   73  DC0LQ
> *** ASMA500W Requested alignment exceeds section alignment  *
> 22   74 QUAD@1   DCLQ'0'
>
> causes the *ASMA500W* message to be issued; it's description appears below:
>
>
>
>
>
>
>
>
>
>
>
>
> * ASMA500W Requested alignment exceeds section alignment
>
>   Explanation:  The section alignment is lower than that requested on the
>  instruction and hence the actual alignment may not be honored.
>
>   System Action:  The requested alignment is ignored.
>
>   Programmer Response:  Change the requested alignment to be less than or
>  equal to that of the section, or ensure that the desired alignment is
>  achieved during program linking and loading.
>*
> * Severity:  4  *
>
> Does anyone know what the 'section' mentioned in the message is? Is it a
> reference to the current control section (CSECT)?
>
> I don't get it...all I want to do is get quadword boundary alignment for
> the QUAD@1 constant.
>
> Mike Shaw
> MVS/QuickRef Support Group
> Chicago-Soft, Ltd.
>


ASMA500 message question

2022-11-17 Thread Mike Shaw
Everyone,

This code fragment:

1C 4700 071  NOP   0
20 0101  72  PR
22   73  DC0LQ
*** ASMA500W Requested alignment exceeds section alignment  *
22   74 QUAD@1   DCLQ'0'

causes the *ASMA500W* message to be issued; it's description appears below:












* ASMA500W Requested alignment exceeds section alignment

  Explanation:  The section alignment is lower than that requested on the
 instruction and hence the actual alignment may not be honored.

  System Action:  The requested alignment is ignored.

  Programmer Response:  Change the requested alignment to be less than or
 equal to that of the section, or ensure that the desired alignment is
 achieved during program linking and loading.
   *
* Severity:  4  *

Does anyone know what the 'section' mentioned in the message is? Is it a
reference to the current control section (CSECT)?

I don't get it...all I want to do is get quadword boundary alignment for
the QUAD@1 constant.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Removal of transactional execution facility

2022-04-06 Thread Mike Shaw
Maybe Dan Greiner can comment on why IBM went to the trouble to introduce
this powerful facility and then pull it?

ISVs who implemented code using the transactional execution facility might
feel kinda "had" now...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Wed, Apr 6, 2022 at 4:17 PM Ngan, Robert (DXC Luxoft) <
robert.n...@dxc.com> wrote:

> In the Statement of general direction in the z16 announcement at:
>
>
> https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/1/897/ENUS122-001/index.html
>
> It says IBM will remove support for the transactional execution facility,
> I guess there's no point in attempting to exploit this now.
>
> Robert Ngan
> DXC Luxoft
>


Re: Branch-and-Link nomenclature question

2022-02-10 Thread Mike Shaw
Program linkage instructions?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Feb 10, 2022 at 11:04 AM David Cole  wrote:

> In Assembler there are many machine instructions that are suitable
> for calling subroutines:
>- They go somewhere,
>- But they also set a register that can be used to return to the
> next following instruction.
>
> These instructions include:
>- BAL   (Branch and link)
>- BALR  (Branch and link register)
>- BAS   (Branch and save)
>- JAS   (jump and save)
>- BRAS  (Branch relative and save)
>- BRASL (Branch relative and save long)
>- BASSM (Branch and save and set mode)
>
>
>
> My question is this...
> What is the collective name for these instructions?
>
> In a sentence such as "Then you branch and link to a subroutine...",
> I tend to say "branch and link",
>
> but I'm always unhappy about that...
>- Yes, "branch and link" is an accurate description of you're doing,
>- While "branch and save" is a bit opaque.
>- However, the phrase "branch and link" is ambiguous and invites
> unnecessary quibbling.
>
>
> So my question is... What would you say?
>
> TIA,
> David Cole
> dbc...@gmail.com (personal)
> dbc...@colesoft.com (business)
> 540-456-6518 (cell)
>


Re: Making Encoded Bits Human Readable

2022-01-31 Thread Mike Shaw
Elegant...and now we're down to 24 bytes of machine code!

Dan, is RISBGZ one of the instructions added to speed up Java garbage
collection?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Mon, Jan 31, 2022 at 4:08 PM Dan Greiner  wrote:

> The following code snippet does the trick, leaving the results in general
> registers 0 and 1.
>
> LLC   0,BYTE
> RISBGZ 1,0,62,63,-4
> SRL   0,6
> AHI   0,C'1'(or CA'1' for results in ASCII)
> AHI   1,C'1' (or CA'1' for results in ASCII)
>
> (I consider ROTATE THEN INSERT SELECTED BITS to be the sexiest instruction
> in the architecture.)
>


Re: John Ehrman Assembler Text

2020-08-13 Thread Mike Shaw
Assembler Language Programming for IBM System z Servers Version 2.00; it's
a 4 meg PDF.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Aug 13, 2020 at 8:43 AM FancyDancer 
wrote:

> What are the titles of the manuals?
>
> Dan
>


Re: Convert *signed* EBCDIC to packed decimal

2020-06-03 Thread Mike Shaw
"... 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?

You do have to detect and handle leading plus/minus signs in EBCDIC strings
yourself. PACK won't do it.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Wed, Jun 3, 2020 at 4:27 PM Doug Wegscheid 
wrote:

> 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: z/OS HLASM: EQU for statement labels

2020-06-01 Thread Mike Shaw
I agree with Gerhard; I was taught and use

labelDS0H

for labels instead of EQU.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Mon, Jun 1, 2020 at 4:46 PM Gerhard adam  wrote:

>
>
>
>
> Even though it may not happen often the EQU can point to an odd
> address and cause the label to be referenced when it is filled with binary
> zeroes (S0C1)
> The use of 0H always forces boundary alignment for instructions
>
>
>
> Get Outlook for iOS
>
>
>
>
>
>
> On Mon, Jun 1, 2020 at 1:43 PM -0700, "Schmitt, Michael" <
> michael.schm...@dxc.com> wrote:
>
>
>
>
>
>
>
>
>
>
> In John R. Ehrman's SHARE presentations on tips for modernizing IBM
> z/Architecture assembler programs (such as
> https://share.confex.com/share/120/webprogram/Handout/Session12522/modrnasm.pdf),
> he says that important advice from experienced assembler programmers is to:
>
> _Don't_ use EQU for statement-label creation
>
> Can anyone venture a guess as to the reason for this advice? I've been
> coding MVS assembler for 30 years and this is the first I've heard of this
> guideline.
>
> One thing I'm wondering is if the suggestion is to avoid stand alone
> statement labels entirely (such as LABEL EQU * or LABEL DS 0H) in favor of
> putting the label on the next instruction? Or is there something about EQU
> * that makes it a bad alternative to DS 0H?
>
> __
> Michael Schmitt | DXC.technology
>
>
> DXC Technology Company - Headquarters: 1775 Tysons Boulevard, Tysons,
> Virginia 22102, USA.
> DXC Technology Company -- This message is transmitted to you by or on
> behalf of DXC Technology Company or one of its affiliates.  It is intended
> exclusively for the addressee.  The substance of this message, along with
> any attachments, may contain proprietary, confidential or privileged
> information or information that is otherwise legally exempt from
> disclosure. Any unauthorized review, use, disclosure or distribution is
> prohibited. If you are not the intended recipient of this message, you are
> not authorized to read, print, retain, copy or disseminate any part of this
> message. If you have received this message in error, please destroy and
> delete all copies and notify the sender by return e-mail. Regardless of
> content, this e-mail shall not operate to bind DXC Technology Company or
> any of its affiliates to any order or other contract unless pursuant to
> explicit written agreement or government initiative expressly permitting
> the use of e-mail for such purpose. --.
>


Re: Sample code to practice assembler

2020-05-14 Thread Mike Shaw
The resources at this link will provide a good start:

http://csc.columbusstate.edu/woolbright/WOOLBRIG.htm

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, May 14, 2020 at 1:40 AM johnnydeep san 
wrote:

> Hi all,
>
> I'm new bee  and learning assembler by own. i'm glad to join this group. If
> you guys having any link or doc for practice  basic Z/os  assembler code.
> ,please let me know.
>
> Regards,
> JD
>


Re: BASR to AMODE 64

2019-11-22 Thread Mike Shaw
Or maybe a question instead of a musing?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Fri, Nov 22, 2019, 1:00 AM Keven  wrote:

>
>
>
>
> The paucity of detail makes answering your inquiry a matter of
> inductive supposition.  Maybe you should post additional information such
> as:
> Source code?Assembly listing?ABEND code?SysLog?
>
> Keven
>
>
>
>
>
>
>
>
>
>
>
>
> On Thu, Nov 21, 2019 at 9:26 PM -0600, "Joe Reichman" <
> reichman...@gmail.com> wrote:
>
>
>
>
>
>
>
>
>
>
> Hi
>
>
>
> I have a amode 64 rmode 31 program I would like to do I/O So I have to have
> the DCB below 16mb So I have LOAD a module amode 64 rmode 24
>
>
>
> After loading I turn the 1 bit to the right off now I have a clean half
> address when I BASR to it bombs and the PSW has the one bit on
>
>
>
> A funny thing under TEST making a breaking point at the basr it doesn't
> happen
>
>
>
>
>


Re: Poll

2019-09-16 Thread Mike Shaw
POPs

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.



On Mon, Sep 16, 2019 at 3:50 PM Phil Smith III  wrote:

> Principles of Operation-how do you refer to it? (NOT including case-let's
> not make this any more complicated than it is already!)
>
> 1) PofOp
>
> 2) POP
>
> 3) POO
>
> 4) Pops
>
> 5) other?
>
>
>
> Just curious-there are no wrong answers, of course! (Well, I suppose
> "IntelR 64 and IA-32 Architectures Software Developer Manuals" is wrong.)
>
>
>
> .phsiii
>
>
>


Re: old code failing

2019-07-24 Thread Mike Shaw
The DEVTYPE macro is a much safer and simpler way to check for the presence
of a DD. The old TIOT scan method may work and it may not work.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Wed, Jul 24, 2019 at 11:24 AM Richard Kuebbing  wrote:

> A subroutine written long ago appears to be failing.  It looks for a
> DDname in the TIOT.  Did the format of the TIOT change at some point?  If
> yes, at what release?
>
> Does it matter if AMODE is 24 or 31?
>
> It might have something to do with the fact that the DD is a proc override
> instead of straight JCL or in a proc.
>
> Richard Kuebbing
>
> NOTICE: This communication is intended only for the person or entity to
> whom it is addressed and may contain confidential, proprietary, and/or
> privileged material. Unless you are the intended addressee, any review,
> reliance, dissemination, distribution, copying or use whatsoever of this
> communication is strictly prohibited. If you received this in error, please
> reply immediately and delete the material from all computers. Email sent
> through the Internet is not secure. Do not use email to send us
> confidential information such as credit card numbers, PIN numbers,
> passwords, Social Security Numbers, Account numbers, or other important and
> confidential information.
>


Re: Probably dumb assembler question

2019-07-11 Thread Mike Shaw
On Thu, Jul 11, 2019 at 1:46 AM Jon Perryman  wrote:

> <...snip> When did freepool become a requirement?<.snip..>


QSAM does not free the buffer pool. The user has to issue a FREEPOOL;
AFAIK, it has been that way since OS/MVT. You can get away without doing a
FREEPOOL until you issue thousands of consecutive OPEN/GET/PUT/CLOSE
requests without any FREEPOOLs, then you run out of virtual private
storage. I hit this same issue myself a few years ago with a recursive QSAM
I/O routine.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Running ISPF's 3.5 utility from a clist

2018-09-14 Thread Mike Shaw
The DSECT for the stats is in ISP.AISPMACS(ISPDSTAT) on my z/OS V2R2
system. They are stored in the SSI field of each directory block, AFAIK.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Fri, Sep 14, 2018 at 11:57 AM Steve Smith  wrote:

> I am pretty sure there is a DSECT macro provided with ISPF that maps the
> ISPF directory entry.  It may well be easier (and certainly more efficient)
> to just build them yourself.
>
> sas
>


Re: IEATDUMP MF=L Can someone explain this?

2018-08-24 Thread Mike Shaw
We have the list form coded like this:

IEATDUMP PLISTVER=MAX,MF=(L,IEATDUMPL)

and the execute form coded like this:

IEATDUMP DSN=DUMPDSNL,HDR=DUMPTITL,
  PLISTVER=MAX,
  MF=(E,IEATDUMPL)

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.



>


Re: Last modified timestamp of a module

2018-02-19 Thread Mike Shaw
​LISTIDR control statement of AMBLIST utility will do it.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Mon, Feb 19, 2018 at 11:18 AM, Jake Anderson 
wrote:

> Hi
>
> We do not have a tool to see the modified stamp time stamp of a load
> module.
>
> Is there a way to know ?
>
> Jake
>


Re: Adcon (was: Address of a Literal)

2017-12-10 Thread Mike Shaw
I know adcons are relocatable in the sense that they are resolved to a
virtual storage address when the load module is loaded and executed; I was
referring to the second reason listed below in the ASMA032E HLASM error
message:


ASMA032E Relocatable value or unresolved symbol found when absolute value
required

Explanation:  One of the following has occurred:

o   A relocatable or complex relocatable expression is used where an
absolute expression is required.
o   A DSECT-based expression is used as an operand for an address constant
where an expression that resolves into a storage address is required.


that's the error you get when you try to use an adcon outside of a DSECT
that points to a field mapped inside the USING range of the DSECT.

Mike

On Sun, Dec 10, 2017 at 2:30 PM, Charles Mills  wrote:

> Sure they can! You most basic A(label) is typically a reference to a
> relocatable expression.
>
> Adcons can't refer to symbols in DSECTs because they don't have an
> address. Where are they? Wherever you want them to be. Wherever their
> register points.
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
> On Behalf Of Mike Shaw
> Sent: Sunday, December 10, 2017 10:34 AM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Re: Adcon (was: Address of a Literal)
>
> Adcons cannot refer to relocatable expressions.
>


Re: Adcon (was: Address of a Literal)

2017-12-10 Thread Mike Shaw
Adcons cannot refer to relocatable expressions.




On Dec 10, 2017 12:37 PM, "Paul Gilmartin" <
0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:

On 2017-12-09, at 15:20:59, John Ehrman wrote:

> A literal is implicitly a symbolic address and a constant-generation
request; nesting those functions in other expressions was considered a bit
too much extra work for ASMH, from which HLASM was derived. And there were
no strong requests for forms such as A(=X'zzz') during the first six HLASM
releases.
>
I believe there's good reason an A-constant can't refer to
an address in a DSECT, yet I find no such restriction documented
in the HLASM Language Ref.  Have I overlooked a sentence?

-- gil


Re: Detection of Compile-Time Self-Modifying Code

2017-10-10 Thread Mike Shaw
As scarce as z/Arch assembler jobs are nowadays, why shoot yourself in the
foot doing that?

I don't get it either...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Tue, Oct 10, 2017 at 9:15 AM, Steve Smith  wrote:

> I have to agree with "retired" on this one.  I can't see any way HLASM
> could reliably detect this, and there are lots of other ways to do
> such things.  If I was trying to sneak something in, I'd make it much
> harder to find than this.
>
> This is a strange case.  How someone clever enough to code that could
> be so stupid as to think it was a good idea is beyond me.  Instead of
> writing a few lines of code to deal with CC1, he thought it would be
> better to wait until a customer reports gibberish output, and he gets
> caught?  In "The Daily WTF?" tradition, "brillant".
>
> sas
>
> On Tue, Oct 10, 2017 at 5:49 AM, retired mainframer
>  wrote:
> > Some issues are easier to deal with by non-technical methods.
>  Publicizing the paragraph that precedes the code might demonstrate the
> desirability of following the rules to all but the most obnoxious.
> >
>


Re: z14 PoO Available - SIGP description

2017-09-23 Thread Mike Shaw
Two-up PDF files are not really needed any more, are they? We are not
really trying to save paper any more...the Pops has always been two-up, but
other than tradition, why render it two-up any more?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Sep 23, 2017 6:27 PM, "Dan Greiner"  wrote:

One of the unpleasant attributes of the software with which the PoO is
rendered (Adobe FrameMaker) is that it occasionally gets its knickers tied
in a knot rendering two-column material. This is the case in
programming-note 1 on page 10-184.  For an instruction description,
programming notes usually follow the description of any program exceptions.
FrameMaker somehow got it into its head that there was a page-wide text
break immediately above the programming notes, thus it began rendering the
notes in the left column.  PN#1 actually continues immediately to the
right, under the list of program exceptions.  (This has been a known FM bug
for over 10 years; but, as with many software vendors, there's little money
to be made in fixing bugs.)

Regarding SIGP order code 20 (0x14): As I recall, this is used only by the
LPAR hypervisor, and should not have appeared in the external PoO. Since
I'm now retired, I don't have access to the internal stuff any more, but I
don't believe order code 20 is available to a logical partition or virtual
machine. So, don't sweat it.


Re: Save areas (not XPLINK).

2017-06-12 Thread Mike Shaw
Me too. Makes me think of an old girlfriend...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Mon, Jun 12, 2017 at 10:07 AM, John McKown 
wrote:

> On Mon, Jun 12, 2017 at 8:59 AM, Ed Jaffe 
> wrote:
>
> > On 6/12/2017 6:40 AM, Steve Smith wrote:
> >
> >> Regardless of the meaning of "standard", IBM does provide the IHASAVER
> >> macro to assist with those choices.
> >>
> >> I routinely make save areas 18D (or update from 18F) these days.
> >>
> >
> > I make mine 36D to cover whatever format might be used now or in the
> > future...
>
>
> ​[giggling] I can't read the above without laughing. I'm just a pervert, I
> guess.​
>
>
>
> >
> >
> > --
> > Edward E Jaffe
> > Phoenix Software International, Inc
> > 831 Parkview Drive North
> > El Segundo, CA 90245
> > http://www.phoenixsoftware.com/
> >
>
>
>
> --
> Veni, Vidi, VISA: I came, I saw, I did a little shopping.
>
> Maranatha! <><
> John McKown
>


Re: Finding Dave Bond

2016-12-08 Thread Mike Shaw
OK, now I understand. Dave Bond wrote the old Tachyon Assembler Workbench,
a similar emulator for batch problem state z/OS programs...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Thu, Dec 8, 2016 at 2:41 PM,  wrote:

> > -Original Message-
> > From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
> > l...@listserv.uga.edu] On Behalf Of Mike Shaw
> > Sent: 08 December 2016 18:54
> > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> > Subject: Re: Finding Dave Bond
> >
> > Yet another emulator...IBM will not bless this, will they?
>
> They certainly won't bless it, but if what I have gleaned is correct it
> basically performs a similar task to the Z390 product.
>
> http://www.z390.org/
>
> so executing the problem state code and emulating the interfaces and
> API's. Of course some of the API's and problem state code may be
> protected by Patents or Copyright. Copyright violations can perhaps be
> minimized by a clean room approach, and patents perhaps by choosing a
> suitable country..
> So as long as they don't sell the code elsewhere then IBM might have to
> challenge them in a Swiss court:-
>
> https://en.wikipedia.org/wiki/Software_patents_under_the_Eur
> opean_Patent_Convention
>
> which might be less in favour of a US corporation...
>
> .. but of course, I am only musing aloud, and we will have to wait to see
> actually happens. I guess if they never land a sale then nothing will
> happen...
> .. if they I expect things to get interesting...
>
>
> >
> > Mike Shaw
> > MVS/QuickRef Support Group
> > Chicago-Soft, Ltd.
>
> Dave Wade
>
>
> >
> > On Thu, Dec 8, 2016 at 1:50 PM, Rob van der Heij 
> > wrote:
> >
> > > On 8 December 2016 at 19:35, Ed Jaffe 
> > wrote:
> > >
> > > > He lives in Switzerland and works for L^z Labs -- the latest John
> > > > Moores kill-the-mainframe endeavor...
> > > >
> > >
> > > Shaken, not stirred. License to kill the mainframe?
> > >
>


Re: Finding Dave Bond

2016-12-08 Thread Mike Shaw
Yet another emulator...IBM will not bless this, will they?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Thu, Dec 8, 2016 at 1:50 PM, Rob van der Heij  wrote:

> On 8 December 2016 at 19:35, Ed Jaffe  wrote:
>
> > He lives in Switzerland and works for L^z Labs -- the latest John Moores
> > kill-the-mainframe endeavor...
> >
>
> Shaken, not stirred. License to kill the mainframe?
>


Re: Not Understanding 0C4-03B

2016-08-28 Thread Mike Shaw
Paul,

The second LG...why are you loading eight bytes from a location that is
decimal 50 bytes into the storage area you just obtained? Your comment says
"position past starting address", but that's not what that instruction does.


Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Sun, Aug 28, 2016 at 5:24 PM, esst...@juno.com  wrote:

> I would like to convert a Data space to use a Memory Chunk and 64 Bit
> Addressing.
> Program is invoked in AMODE 31 and RMODE ANY
> .
> When I try to move some control information to the beginning of the memory
> chunk I incur
> a 0C4-03B Abend
> .
> *
>  SAM64Switch To 64 Bit Mode
>  LGG1,ORIGIN64Get Starting Address
>  LGG1,50(,G1) Position Past Starting Address
>  LAY   R2,HDR64   Header Description
>  LLGTR G2,G2  Ensure G2 has a good address
>  MVC   00(HDR64#,G1),00(R2)   Transfer Header Descripton
>  SAM31Return To 31 Bit Mode
> *
> The MVC instruction abends with an 0c4 - 03B
> .
> .
> Can someone on this list explain why I am Abending  And explain how to
> properly correct it.
> What exactly am I doing incorrectly
> .
> .
> .
> Here is a snipet of code preceding the move.
> .
>
> *   Use z/Architecture Instructions
>  SYSSTATE AMODE64=YES,ARCHLVL=2
> *
>  XGR   G0,G0   G0 = 0
>  IARV64 REQUEST=GETSTOR,
>SEGMENTS=SEGMENTS,
>GUARDLOC=HIGH,
>GUARDSIZE=GRDSIZE,
>ORIGIN=ORIGIN64,
>COND=YES,
>FPROT=NO,
>USERTKN=NO_USERTKN,
>TTOKEN=NO_TTOKEN,
>RETCODE=RETCD64,RSNCODE=RSNCD64,
>MF=(E,IARV64L,COMPLETE)
> *
>
>
>
>  STM   R15,R0,ZRETCODES   Save Return & Reason Code
> *
>  SYSSTATE AMODE64=NO,ARCHLVL=2
> *
>  BRAS  R14,EXAMINE_RESPONSE
>
>
> *
>  SAM64Switch To 64 Bit Mode
>  LGG1,ORIGIN64Get Starting Address
>  LGG1,50(,G1) Get Starting Address
>  LARL  R2,HDR64   Header Description
>  LAY   R2,HDR64   Header Description
>  LLGTR G2,G2  Ensure G2 has a good address
>  MVC   00(HDR64#,G1),00(R2)   Transfer Header Descripton
>  SAM31Return To 31 Bit Mode
> *
> *
>  DS  0AD  .IARV64 Alignment
> SEGMENTS DC  FD'01'   .IARV64 Segments
> ORIGIN64 DC  AD(0).IARV64 Origin Address
> HIGH64   DC  AD(0).IARV64 High End Address
>  DC  AD(0).Reserved
>
>
> .
> .
> Paul D'Angelo
> *
> *
>


Re: CSRSIIDF Question

2016-07-02 Thread Mike Shaw
Thank you Peter.


Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Sat, Jul 2, 2016 at 9:01 AM, Peter Relson  wrote:

> >Then is there a reliable method for a non APF authorized program that
> does
> >not execute continuously to determine whether a capacity on demand
> upgrade
> >was performed since the last time that same program executed?
>
> Not that comes to mind. And, in fact, the operating system has no idea
> that that has happened either. It knows only that a configuration change
> event was identified by the machine (or for whatever other reason it
> chooses to refresh the data, and there are some) and the system reacts to
> changes that it finds within the data. The ENF signal that I presume you
> are alluding to (non-APF authorized programs cannot listen for an ENF
> signal) is about the (potential) configuration change event, not about a
> capacity on demand upgrade. It is up to the listener to determine if there
> is anything of interest that has changed.
>
> >Because some of the return codes indicate invalid data.
> I would say "no they do not; they indicate that the data are not
> available".  That does not relate to the value in a particular field.
>
> Peter Relson
> z/OS Core Technology Design
>


Re: CSRSIIDF Question

2016-07-01 Thread Mike Shaw
Thank you Peter.

Then is there a reliable method for a non APF authorized program that does
not execute continuously to determine whether a capacity on demand upgrade
was performed since the last time that same program executed?

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.
On Jul 1, 2016 8:21 AM, "Peter Relson"  wrote:

> >Question: is it incorrect to rely on the presence of a timestamp in the
> >SI00LASTUPDATETIMESTAMP field ​as an indication​
> >that a capacity on demand upgrade has been done?
>
> In a word, yes.
>
> There are system reasons why the STSI information might have been
> refreshed. I believe that that includes cases where the hardware has
> informed z/OS of a configuration change event that was not due to a
> customer-initiated capaciy on demand upgrade.
>
> > Does your program check the return code after calling the CSRSI service?
>
> I'm not sure why that is relevant to the question that was asked.
>
> Peter Relson
> z/OS Core Technology Design
>
>


Re: CSRSIIDF Question

2016-06-30 Thread Mike Shaw
Yes. We check for a zero return code.

I know it's implied by the comment for that field that any issuance of STSI
would update that timestamp. We have only seen one case where it was not
done as a result of a COD upgrade. I thought our method for detecting a COD
was the right method; maybe it's not.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Thu, Jun 30, 2016 at 1:26 PM, retired mainframer <
retired-mainfra...@q.com> wrote:

> Since a COD upgrade is "one event" that alters the field, it seems
> reasonable to conclude that there are other events that also alter the
> field.  Your code may be making a false assumption.
>
> Does your program check the return code after calling the CSRSI service?
>
> The Knowledge Center (at
> https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.ieaa700/CSRSI_Description.htm
> )
> identifies conditions under which the field is not valid.  Do any of these
> conditions apply to your customer?
>
> > -Original Message-
> > From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
> > l...@listserv.uga.edu] On Behalf Of Mike Shaw
> > Sent: Thursday, June 30, 2016 9:14 AM
> > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> > Subject: CSRSIIDF Question
> >
> > Anyone:
> >
> > Question about comments in the CSRSIIDF mapping DSECT used to map
> > information returned by a call to the CSRSI service.  The DSECT has this
> field in it:
> >
> > SI00LASTUPDATETIMESTAMP DS CL8 STCK
> >
> > With these comments for the field:
> >
> > ​"​timestamp when system last  re-issued STSI to retrieve the most
> current
> > information. A capacity upgrade on demand event is one event that results
> > in this update. The field is 0's if the information has not been
> > retrieved since IPL.​"​
>
> > Our code treats a non-zero value in the above field as an indication
> that a capacity on demand upgrade has been performed since the last IPL. A
> customer of ours had a non-zero value in the timestamp field, even though
> they said they had not performed a capacity on demand upgrade.
>
> > The comments in the DSECT for the timestamp field make me think we
> should not rely on just this field to signal that a capacity on demand
> upgrade has occurred.
>
> > Question: is it incorrect to rely on the presence of a timestamp in the
> SI00LASTUPDATETIMESTAMP field ​as an indication​ that a capacity on demand
> upgrade has been done?
>


CSRSIIDF Question

2016-06-30 Thread Mike Shaw
Anyone:

Question about comments in the CSRSIIDF mapping DSECT used to map
information returned by a
​
call to the
​
CSRSI
​
service.

The DSECT has this field in it:

SI00LASTUPDATETIMESTAMP DS CL8 STCK

With these comments for the field:

​"​
timestamp when system last  re-issued STSI to retrieve the most current
information. A capacity upgrade on demand event is one event that results
in this update. The field is 0's if the information has not been
retrieved since IPL.
​"​


Our code treats a non-zero value in the above field
​
as an indication that a capacity on demand upgrade has been
​
performed
​
since the last IPL. A customer of ours had a non-zero value in the
timestamp field, even though they said they had
​_​
not
​_​
performed a capacity on demand upgrade.

The comments in the DSECT for the timestamp field make me think we should
not rely on just this field to signal that a capacity on demand upgrade has
occurred.
​


Question: is it incorrect to rely on the presence of a timestamp in the
SI00LASTUPDATETIMESTAMP field
​as an indication​
that a capacity on demand upgrade has been done?

​Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: My assembler text v2.00

2016-04-13 Thread Mike Shaw
John,

I trust you will not leave this list when you leave IBM. You have always
been the final arbiter of all things related to HLASM, and I know that all
here on this list will agree that you should continue to be so.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.
On Apr 13, 2016 7:42 PM, "John Ehrman"  wrote:

The second edition of my Assembler Language textbook is available for
download at

http://idcp.marist.edu/enterprisesystemseducation/assemblerlanguageresources-1.html


The text is a PDF file (it's big: 1346 pages).  The simple conversion and
I/O macros decscribed in Appendix B are also available there.

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  .

Since the text was created on z/VM using IBM's BookMaster, I doubt I'll be
able to create any further versions after retiring.  I may, however, be
able to provde occasional supplements and errata through the Marist
College web site.  (I'd like to provide a second text describing the
Conditional Assembly and Macro language, but that will depend on time,
energy, and need.)

I plan to be available for consulting on Assembler Language topics like
education, modernization, and simplification.

Regards... John
-
555 Bailey Ave, San Jose CA 95141 USA
+1-408-463-3543  ehr...@us.ibm.com


Re: ASSEMBLER-LIST Digest - 6 Jan 2016 to 8 Jan 2016 (#2016-7)

2016-01-12 Thread Mike Shaw
I used BTAM to read/write from/to channel attached local 3270s many years
ago. BTAM interface requests were easy to code and easy to debug.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Tue, Jan 12, 2016 at 2:24 AM, Ed Jaffe 
wrote:

> On 1/11/2016 4:18 PM, John Walker wrote:
>
>> How does BPAM relate to BTAM?  I was looking at this and finding a great
>> similarity to old-fashioned PC basic dynamic reads.  Can this be used on
>> any modern mainframe?
>>
>
> IBM stopped shipping BTAM years ago but, if you've kept the libraries
> around, it still works! :-)
>
> The same might be true for TCAM as well, but alas in my location its
> libraries got lost somewhere in the shuffle... :-(
>
> --
> Edward E Jaffe
> Phoenix Software International, Inc
> 831 Parkview Drive North
> El Segundo, CA 90245
> http://www.phoenixsoftware.com/
>


Re: ASSEMBLER-LIST Digest - 10 Oct 2015 to 15 Oct 2015 (#2015-114)

2015-10-16 Thread Mike Shaw
John,

Contact me off-list; I may have something.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

mike @ mike dot shaw dot name




On Fri, Oct 16, 2015 at 9:21 AM, John Walker <
00c645a0d640-dmarc-requ...@listserv.uga.edu> wrote:

> After the turn of the year, I will be looking for a job.  Assembler would
> be fun to work with.
> I have done some fairly complicated assembler coding in the past at
> Caterpillar on the mainframe.  I have done one user exit, played with
> dataspaces, code above the 31-bit line.  I have not done much with the
> 64-bit stuff, but I wouldn't imagine it would be much of a stretch to look
> up any 64-bit instructions.  Anyone needing an Assembler programmer?  I do
> Cobol, Rexx, Clist also.  I have done one html which submits jobs from my
> pc to the mainframe to update acf2 rules.  It utilizes the mainframe's unix
> emulation which is in Rexx code.  I had only gotten the proof-of-concept
> running before I found out that I am being forced into early retirement.  I
> would prefer to telecommute, but if necessary, I am flexible.  Thanks for
> any responses.
> 
> On Thu, 10/15/15, ASSEMBLER-LIST automatic digest system <
> lists...@listserv.uga.edu> wrote:
>
>  Subject: ASSEMBLER-LIST Digest - 10 Oct 2015 to 15 Oct 2015 (#2015-114)
>  To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
>  Date: Thursday, October 15, 2015, 11:00 PM
>
>
>
>
>  ASSEMBLER-LIST Digest - 10 Oct 2015 to 15 Oct 2015
>  (#2015-114)
>
>  #yiv2341008013 body {
>  font-family:Arial, Helvetica,
>  sans-serif;font-size:12px;color:#00;}
>  #yiv2341008013 td {
>  font-family:Arial, Helvetica,
>  sans-serif;font-size:12px;color:#00;}
>  #yiv2341008013 p {
>  font-family:Arial, Helvetica,
>  sans-serif;font-size:12px;color:#00;}
>  #yiv2341008013 a {
>  font-family:Arial, Helvetica,
>
>  
> sans-serif;font-size:12px;font-weight:bold;color:#3366CC;text-decoration:none;}
>  #yiv2341008013 h2 {
>  font-family:Arial, Helvetica,
>  sans-serif;font-size:17px;font-weight:bold;color:#CC0033;}
>  #yiv2341008013 h3 {
>  font-family:Arial, Helvetica,
>  sans-serif;font-size:16px;font-weight:bold;color:#3366CC;}
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>  ASSEMBLER-LIST Digest - 10 Oct 2015 to 15 Oct 2015
>  (#2015-114)
>  Table of contents:
>
>  Moves and others (23)
>  DSPSERV Question (3)
>
>
>  Moves and others
>  Re: Moves and others
>  (10/15)
>  From: Robin Vowels 
>  Re: Moves and others
>  (10/15)
>  From: John McKown
>  
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/15)
>  From: Cali zMan 
>  Re: Moves and others
>  (10/16)
>  From: Robin Vowels 
>  Re: Moves and others
>  (10/15)
>  From: John McKown
>  
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/15)
>  From: John McKown
>  
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/15)
>  From: John McKown
>  
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/15)
>  From: John McKown
>  
>  Re: Moves and others
>  (10/15)
>  From: Gary Weinhold 
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/15)
>  From: Gary Weinhold 
>  Re: Moves and others
>  (10/15)
>  From: Tony Harminc 
>  Re: Moves and others
>  (10/15)
>  From: David de Jongh 
>  Re: Moves and others
>  (10/16)
>  From: Robin Vowels 
>  Re: Moves and others
>  (10/16)
>  From: Robin Vowels 
>  Re: Moves and others
>  (10/15)
>  From: Paul Gilmartin 
>  Re: Moves and others
>  (10/16)
>  From: Robin Vowels 
>  Re: Moves and others
>  (10/15)
>  From: "Robert A. Rosenberg"
>  
>  DSPSERV Question
>  DSPSERV Question
>  (10/15)
>  From: Scott Ford 
>  Re: DSPSERV Question
>  (10/15)
>  From: Gary Weinhold 
>  Re: DSPSERV Question
>  (10/15)
>  From: Scott Ford 
>
>
>
>
>
>
>
>
>
>  Browse the ASSEMBLER-LIST
>  online archives.
>
>
>
>
>
>
>
>
>
>
>
>
>


Re: Option to Prevent Data Loss Due to Truncation of Nominal Value

2015-05-02 Thread Mike Shaw
A good idea, but the HLASM should not warn on zero lengths coded in MVCs
that are EX targets:

MOVIT MVC   0(0,R1),=CL16''  >>
Executed <<


Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: LZRG??? Does this mean that 56-bit addressing is "a thing"?

2015-03-12 Thread Mike Shaw
​
On Wed, Mar 11, 2015 at 10:49 AM, John McKown 
wrote:

> Given some of the new instructions, such as LGZR, I wish IBM would
> publish a manual with a title like: "What were the architects thinking
> of? Explanation of the reasons behind the instructions in the z
> architecture".
> ​...
>

"​To make the code compiled by the C/C++ compiler and/or WebSphere / Java
code run faster" is the answer to ANY "Why?" question about new
instructions, IMHO...

​
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: John Ehrman Assembler Book

2015-02-08 Thread Mike Shaw
It looks very good. Comprehensive and well organized; a formidable work. I
wish I'd had it 35 years ago.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Sun, Feb 8, 2015 at 3:44 PM, Richard A. Lawrence <
r.a.lawrence...@ralawrence.us> wrote:

> The long awaited John Ehrman Assembler book as available at the
> Marist College web site:
>
> http://idcp.marist.edu/enterprisesystemseducation/Assembler%20Language%
> 20Programming%20for%20IBM%20z%20System%20Servers.pdf
>


Re: ASSEMBLER-LIST Digest - 24 Mar 2014 to 25 Mar 2014 (#2014-55)

2014-03-26 Thread Mike Shaw
On Wed, Mar 26, 2014 at 1:33 PM, John McKown
wrote:

>
> You dislike arcane languages and you're on the ASSEMBLER-LIST?!? 
>

Even the venerable old ISPF EDIT now supports regular expressions in
FIND/CHANGE/EXCLUDE commands as of z/OS V2R1; from the ISPF Edit Macros
Reference:

"A regular expression in a FIND, CHANGE, or EXCLUDE command allows you to
search for a string matching a *regular expression*. ISPF uses the IBM® C
regcomp and regexec functions to compile and execute a regular expression
specified with a FIND, CHANGE, or EXCLUDE command. These are supported by
the C runtime library and the C runtime library must be available."
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Availability of SHA-1 and SHA-256 functions in KIMD/KLMD instructions?

2014-02-04 Thread Mike Shaw
On Tue, Feb 4, 2014 at 1:50 PM, Robert Ngan  wrote:

> ..
> And no, I really don't want to dual path the code with my own
> implementation of SHA-1 when I can't use KLMD.
>
> Robert Ngan
> CSC Financial Services Group



Robert:

I believe if crypto is not there, KLMD is not there.

We do this in our code:

USING  PSA,0
TMFLCFACL2,FLCFCRYA
BOHASH_HARDWARE_IN_USE

If the bit is off, we do SHA-1 in our own code. If the bit is on, we issue
KLMD.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Carmine Cannatello's book

2014-01-15 Thread Mike Shaw
I started as an Assembler application programmer 37 years ago. No COBOL at
all, ever.

Mike Shaw
MVS/QuickRef Support
Chicago-Soft, Ltd
On Jan 15, 2014 6:04 PM, "Tony Thigpen"  wrote:

> Are you saying that all assembler programmers (including those on the
> Assembler-List) are only for Systems Programmers? I am sure there are a
> lot of assembler application programmers here also.
>
> Tony Thigpen
>
> -Original Message -
>  From: Gord Tomlin
>  Sent: 01/15/2014 05:53 PM
>
>> On 2014-01-15 17:17, Tony Thigpen wrote:
>>
>>> (Most Mainframe assembler programmers did time as a COBOL programmer.)
>>>
>>
>> Interesting assertion. The majority of systems programmers I know did
>> not come from an applications programming background. Personally, I've
>> only written one COBOL program since university, which means it's the
>> only one I wrote without using a keypunch.
>>
>> --
>>
>> Regards, Gord Tomlin
>> Action Software International
>> (a division of Mazda Computer Corporation)
>> Tel: (905) 470-7113, Fax: (905) 470-6507
>>
>>
>>


Re: Carmine Cannatello's book

2014-01-02 Thread Mike Shaw
Glad you did not say the hundredth person...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


On Thu, Jan 2, 2014 at 3:34 PM, John Gilmore  wrote:

> I going through my technical books I found that I have an extra,
> excellent-condition copy of
>
> Advanced assembler language and MVS interfaces, Wiley 1991.
>
> The fifth person who sends me his|her mailing address gets it postage free.
>
> John Gilmore, Ashland, MA 01721 - USA
>


Re: 3 job openings for mainframe Assembler/C programmers, dump readers

2013-07-26 Thread Mike Shaw
On Fri, Jul 26, 2013 at 12:59 AM, William H. Blair wrote:

> .. and what things
> you did (called) in your program then look like in the system trace, et al.
> ..
>

IMO, learning what each possible entry in the system trace table looks
like, during normal system operation and during system stress or meltdown
situations, goes a LONG way toward understanding what led up to and caused
a problem, both for standalone, SVC and SYSUDUMP type dumps...trace table
understanding is a very important dump reading skill.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Baseless problem

2013-04-11 Thread Mike Shaw
On Thu, Apr 11, 2013 at 10:32 AM, Ed Jaffe wrote:

>
> The oldest assembler I ever used was IFOX00. ISTR, it did not have
> support for LOCTR but my memory could be faulty.
>
> <http://www.phoenixsoftware.com/>


You are of course correct; my reference was to eyecatcher placement after
the initial instruction in the CSECT, which was a branch around the
eyecatcher and its length byte.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Baseless problem

2013-04-11 Thread Mike Shaw
On Thu, Apr 11, 2013 at 8:47 AM, Steve Comstock wrote:

> ..Well, Ed's super sharp but I think that technique has been
> around a while.
>
>
Amen. I saw it first in code in 1976, with the eyecatcher preceded by a
one-byte length field for the eyecatcher. That one byte length is used by
the dump formatter to print the eyecatchers when formatting the save area
chain.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: the fine manuals

2012-12-07 Thread Mike Shaw
On Fri, Dec 7, 2012 at 6:04 AM, Rob van der Heij  wrote:

> On 6 December 2012 17:59, McKown, John 
> wrote:
>
> > I despise InfoCenter. Try here:
> http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves for
> BookManager + PDF. I use either
>
>
Gentlemen, we feel your pain!

As you know, our product relies heavily on extracting content from IBM z/OS
technical documentation, and we have always used BookManager format doc in
preference to other forms because of how easy it is to use. Now that
BookManager is going the way of the dodo, and Info Center is "the way of
the future", we can all suffer together...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Use of "sequence numbering" in current HLASM source?

2012-11-07 Thread Mike Shaw
On Wed, Nov 7, 2012 at 10:21 AM, McKown, John  wrote:

> <...snip...>
>
> So, other than being "non main stream" and even "obsessively weird", is
> there any *technical* reason to maintain sequence numbers?
>
> --
> John McKown
> Systems Engineer IV
> IT
>
>
John,

We use sequence numbers to extract change lines from edited source modules.
The developer making the change maintains the sequence numbers on new or on
changed lines he adds/changes. When the change is finished, he then uses
SUPERC with process option UPDMVS8 and compares the new changed source
module to the prior release of that same source module. SUPERC then emits a
change file in IEBUPDTE format. Those change files (we call them 'delta'
files) identify which lines were changed and how. Multiple such delta files
can then be saved and applied later, or backed out if need be. This lets
more than one developer work on the same source module at the same time. It
ain't CVS, but it works

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Curosity Question

2012-11-01 Thread Mike Shaw
On Thu, Nov 1, 2012 at 6:14 PM, John Gilmore  wrote:

> If a hashing scheme is working well there is almost no clustering.
> Suppose we divide by 17, a prime, i.e., use it, in the jargon, as our
> hashing modulus..  Remainders will have one of the 17 values
>
> 0, 1, 2, . . . , 16.
>
> <...snip...>
> Never hesitate to ask notional gurus such questions.  A request for a
> further explanation is always in order.
>
> --jg
>

Thank you John. Lucid and cogent.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Model 2827 New Instructions

2012-09-18 Thread Mike Shaw
On Tue, Sep 18, 2012 at 1:23 PM, McKown, John  wrote:

> Damn, it's 100 years until that Share presentation? Or, by chance, did you
> mean 2013? --
>

1000 years John... ;-)

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: ASSEMBLER-LIST Digest - 30 May 2012 to 31 May 2012 (#2012-97)

2012-06-01 Thread Mike Shaw
On Fri, Jun 1, 2012 at 10:16 AM, John Walker  wrote:

> <...snip...>attitudes which prefer an order of obfuscating complexity
> which  makes things more difficult than they could have otherwise been.
>

Amen Brother!

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Messages - Was MVC with 2nd operand length

2012-05-22 Thread Mike Shaw
On Tue, May 22, 2012 at 2:29 PM, McKown, John  wrote:

> <...snip...>IMO. I.e. a BASH UNIX prompt beats the crap out of line mode
> TSO.<...snip...>
>

Jeepers John, I gotta disagree with you on that one. How is '#' as a prompt
any better than 'READY'? As far as messages, there is no way IMHO that a
non-numbered set of UNIX or LINUX messages is superior to ANY numbered IBM
messages for ease of understanding. Google lets you look up those
unnumbered messages on the Internet and try to find some meaning, but
without Google non-numbered messages are an abomination. My biggest pet
peeve is the explanation that certain unnumbered messages are 'self
explanatory'. What a crock...

IBM was very smart to assign messages alphanumeric prefixes and to collect
them in reference manuals for users to read and understand.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Where to find out about "PER zero-address detection"?

2012-04-25 Thread Mike Shaw
On Wed, Apr 25, 2012 at 11:25 AM, Edward Jaffe
wrote:

> The description for z/OS msgIEE735I (output of D SLIP= command)
> contains:
>
> | PER-ZAD
> | PER zero address detection trap.
>
> This suggests strongly that you can issue a SLIP SET,ZAD,... command to
> capture/track ZAD events on a z/OS system.
>

One could always try a SLIP SET,... command with ACTION=IGNORE to see if
the syntax one has a hunch about is correct.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Assembler programmers wanted

2012-03-19 Thread Mike Shaw
On Mon, Mar 19, 2012 at 12:10 PM, Robert Shimizu wrote:

> ...  And, truth be told, he wants them to be as young as possible.
> 
> Sincerely,
> Bob
>
> --
> Robert W. Shimizu
> Partner
> ColeSoft Marketing, Inc
>

Age discrimination Bob, pure and simple... ;-)

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Program FLIH

2012-02-24 Thread Mike Shaw
On Fri, Feb 24, 2012 at 12:54 PM, Gibney, Dave  wrote:

>   What I don't understand, pardon my "naifness" (split the thread John:),
> is the need for such today.
> When any of the vendors I named instruct me so, I dutifully APF their
> libraries and they often reside in the linklist which we at least do set
> AFP via IEASYSxx.
>
>Why a secret authority changing hook?--
>

Dave,

Maybe management @ the ISV says "it works, just use it, we can't spend the
money rewriting all our apps that use that hook"

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Program FLIH

2012-02-24 Thread Mike Shaw
On Fri, Feb 24, 2012 at 8:43 AM, John Gilmore wrote:

> 
> I believe, however, that this name should be made public.  This
> information should not be confined to the priesthood
>

John,

The name of the offending ISV can be inferred if you read the text of each
post in this thread carefully...
--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Program FLIH

2012-02-23 Thread Mike Shaw
On Thu, Feb 23, 2012 at 5:08 PM, Tony Harminc  wrote:

> ...
>
> Now what does it *do*...?
>
> Tony H.
>

I smell a conspiracy...NSA hooks so "Big Brother" can watch us?...;-)

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: 128-bit arithmetic

2012-01-09 Thread Mike Shaw
On Mon, Jan 9, 2012 at 4:54 PM, Edward Jaffe wrote:

> On 1/9/2012 1:40 PM, Steve Comstock wrote:
>
>> Here's what I'm thinking:
>>
>>LMG   R2,R4,datetimen  - put datetime into R2/R3
>> (use 64 bits in each reg)
>> and put datetimes into R4/R5
>> (use 64 bits in each reg)
>>SLBGR  R3,R5
>>SLBGR  R2,R4
>>
>
> You're not supposed to use a logical subtract 'with borrow' on the
> low-order
> part. You use it only on the high-order part--AFTER doing a logical
> subtract
> 'without borrow' on the low-order part.
>

Ed is again correct. This technique can be used to write routines that
perform fixed-point arithmetic with arbitrarily long numbers, since you can
perform the subtraction four bytes (or eight bytes) at a time, propagating
a borrow should one occur.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: UNICODE fractions

2012-01-09 Thread Mike Shaw
On Mon, Jan 9, 2012 at 9:46 AM, Steve Comstock wrote:

> 
> BTW, thanks for the excellent listings of code pages
> on your web site.--
>


I echo Steve's comment. The code page listings David created have been very
helpful to me on many occasions also.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Mixed Case in Assembler [Was: ASSEMBLER-LIST Digest - 20 Dec 2011 to 21 Dec 2011 (#2011-208)]

2011-12-30 Thread Mike Shaw
On Fri, Dec 30, 2011 at 9:13 AM, Paul Gilmartin wrote:

> ...
>
> BTW, can ISPF be profiled to do case-sensitive searches by
> default to spare me a few keystrokes in "f c'String'"?
>
> -- gil
>

No. An ISPF Edit macro could be written to do this, but it would have to
prompt you for the string to search for, and that's somewhat sloppy also...

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: STIDP Question

2011-12-13 Thread Mike Shaw
Everyone:

The issue involving an apparent duplicate CPU serial number which I
posted about last week has been resolved. Jim Mulder of IBM z/OS
System Test provided valuable information and clarification on this
issue, as follows:

quote
"It looks like the answer is that when running under LPAR (which is
always the case for any z/Architecture machine except the old z800 or
z900), the STIDP data is not guaranteed to be world-wide unique,
because LPAR replaces the plant of manufacture nybble with LPAR zone
identification information.

If you want an identifier which is world-wide unique, you need to look
at the SYSIB 1.1.1 section of the data returned by the STSI
instruction.  (under z/OS, you can use the CSRSI callable service to
obtain this instead of issuing the STSI instruction yourself).

The Sequence Code from SYSIB 1.1.1,  together with  the Machine Type
from STIDP, should provide world-wide uniqueness.

I expect that a future edition of Principles of Operation will be
updated to clarify this state of affairs."
--end quote

So, for ISVs that maintain data bases of licensed customer CPU serial
numbers, it's possible for two different customers with the same IBM
processor model type to have identical CPU serial numbers, IF you only
consider the rightmost four characters of the CPU serial number when
creating that customer's data base entry. If you consider the
rightmost FIVE characters of CPU serial number (which you CANNOT do
except when the box is executing in non-LPAR (i.e. BASIC) mode), the
CPU serial numbers ARE unique within IBM CPU model type. Jim points
out above that all current IBM boxes execute z/OS in LPAR mode.

I am NOT considering CPU serial numbers in use when z/OS is executing
as a z/VM guest. You z/VM guys will have to sort that out.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: ASM Program to copy a file

2011-12-08 Thread Mike Shaw
On Thu, Dec 8, 2011 at 12:57 PM, Steve Comstock wrote:

>   ...[ I love this quote, from the PDF version, p. 326 [logical
>   page number, 348 physical page number]]:
>
>   "It is not the intent of IBM to require extensive education
>to use assembly language programming."--...



Good one Steve.

It may not be IBM's intent, but the fact is things have ended up that way...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: STIDP Question

2011-12-06 Thread Mike Shaw
Tony:

I agree that it is implausible. One customer is in Singapore, the other is
in Iowa. If they are using the same service bureau, they haven't told us
about it.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Mon, Dec 5, 2011 at 11:06 PM, Tony Harminc  wrote:

> On 5 December 2011 16:54, Mike Shaw  wrote:
> > Everyone:
> >
> > The POPs contains the text below within the description of the STIDP
> > instruction:
> >
> > "When the format bit is zero, the contents of the
> CPU-identification-number
> > field, in conjunction with the machine-type number, permit unique
> > identification of the CPU."
> >
> > Now, I always thought that the text above was stating that the CPU serial
> > number (6 chars, of which the rightmost four are useful) was 'guaranteed'
> > to be unique across all CPUs manufactured by IBM for that machine-type
> > number. However, I've found a case where two different customers of ours
> > both have 2817 machine types and the same CPU serial number.
> >
> > Is this a nomenclature issue? One customer has a 2817-605, and the other
> > has a 2817-704. Both boxes have the same CPU serial number. Is the
> > 'machine-type number' mentioned in the POPs text above supposed to refer
> to
> > the type plus sub-model, or just the type?
> >
> > I thought I understood this until I found this apparent duplicate CPU
> > serial number case.
>
> This seems implausible... Are you sure your customers are not both
> using the same service bureau, and that one doesn't sell time to the
> other?
>
> Tony H.
>



--


STIDP Question

2011-12-05 Thread Mike Shaw
Everyone:

The POPs contains the text below within the description of the STIDP
instruction:

"When the format bit is zero, the contents of the CPU-identification-number
field, in conjunction with the machine-type number, permit unique
identification of the CPU."

Now, I always thought that the text above was stating that the CPU serial
number (6 chars, of which the rightmost four are useful) was 'guaranteed'
to be unique across all CPUs manufactured by IBM for that machine-type
number. However, I've found a case where two different customers of ours
both have 2817 machine types and the same CPU serial number.

Is this a nomenclature issue? One customer has a 2817-605, and the other
has a 2817-704. Both boxes have the same CPU serial number. Is the
'machine-type number' mentioned in the POPs text above supposed to refer to
the type plus sub-model, or just the type?

I thought I understood this until I found this apparent duplicate CPU
serial number case.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: newer opcodes

2011-10-13 Thread Mike Shaw
On Thu, Oct 13, 2011 at 8:27 AM, Martin Truebner wrote:

> Peter,
>
> >> simple rule of thumb:
>
> Talking about simple... would it be too much asking to insert (right
> behind the note about operation exception when not installed) the
> corresponding bit in STFLEs answer?
>
>
Marty:

We started doing this exact thing in MVS/QuickRef's Assembler-oriented data
base content. It does save time when you don't have to go hunt down the
STFLE bits.

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Is the PoOP too big? (was Assembler manuals)

2011-08-30 Thread Mike Shaw
On Tue, Aug 30, 2011 at 11:52 AM, Tony Harminc  wrote:

> I've wondered for a while - is the .boo data format documented
> anywhere? I looked briefly at the z/OS Bookmanager datasets, and
> didn't see any mapping macros or the like, but that doesn't rule it
> out.
>
> Tony H.
>

Tony:

The .BOO file format is not documented anywhere outside of IBM.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Format-1 and Format-8 DSCBs

2011-08-25 Thread Mike Shaw
I've used them with EXCP, for certain types of data sets.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Thu, Aug 25, 2011 at 2:25 PM, John P Kalinich  wrote:

> Are these Format-1/8 DSCB fields used by any access method?
>   | 90(X'5A')| Binary   | 1 | DS1KEYL  | Key length ( 0 to
> 255).
>
>
> +--+--+---+--+-
>   | 91(X'5B')| Binary   | 2 | DS1RKP   | Relative key
> position.
>
> Regards,
> John K
>


Re: HLASM manuals

2011-08-19 Thread Mike Shaw
On Fri, Aug 19, 2011 at 12:20 PM, David Cole  wrote:

>  Better examples
>

I agree with Dave on this. The examples in the reference are not very good.
It's almost like the person who wrote the manual was not really an ALC
programmer, but was a doc person... ;-)


> --
>
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: How to code TAM instruction

2011-06-06 Thread Mike Shaw
2011/6/6 Martin Trübner 

> 
>
> And if he can not read POP or the short-ref, he probably should not code
> these kind of programs.
>
>

Amen to that, brother!

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: ASM vs HLL (Was: CPU: ASSM vs ENTERPRISE COBOL - SOLVED!)

2011-04-07 Thread Mike Shaw
On Thu, Apr 7, 2011 at 3:20 PM, Edward Jaffe wrote:

> 
>
> Is it just me??
>
> --
> Edward E Jaffe
> Phoenix Software International, Inc
> 831 Parkview Drive North
> El Segundo, CA 90245
> 310-338-0400 x318
> edja...@phoenixsoftware.com
> http://www.phoenixsoftware.com/
>

No.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: QSAM file size

2011-04-02 Thread Mike Shaw
Monika,

That information is in the VTOCs on the volumes where the QSAM file resides,
but to get it you have to OPEN the VTOCs and read them, or use CVAF to get
that information. It's probably more trouble than opening the QSAM file
itself and interrogating the DEB built at OPEN time for the file.
Multi-volume QSAM data sets require handling each volume separately also...

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Sat, Apr 2, 2011 at 9:24 AM, Monika Amiss  wrote:

> Hello  group,
>
> I'm wondering if there is a way to get the size of a temporary QSAM-Dataset
> programmatically
> without opening and seeking to the end of the file. The Program, which
> needs the site information
> must C (or Assembler) and runs in z/OS-Batch. I played around with fstat()
> but did not get my
> results. The best approach until now seem to me to use CALL ISPLINK and get
> via LMDLIST
> the zdlsize the used Tracks of the Dataset. But perhaps somebody has a
> better idea,
> perhaps I can use RDJFCB or BPXWDYN to get a bit easier to the values.
>
>  Any hint appreciated, with best regards
>   Monika
>


Re: Button Worn by Distinguished Gentleman at SHARE

2011-03-07 Thread Mike Shaw
Ed:

Dr. Ehrman is correct. I never thought about it before, but there it is, in
the first amendment to the United States Constitution:

Amendment 1
Congress shall make no law respecting an establishment of religion, or
prohibiting the free exercise thereof; or abridging the freedom of speech,
or
of the press; or the right of the people peaceably to assemble, and to
petition
the Government for a redress of grievances.

The right to compile is not explicitly mentioned...;-)

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: SYSADATA file quirk

2011-02-21 Thread Mike Shaw
Thank you Adam, I stand corrected. A warning message would have been nice
though...

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

On Mon, Feb 21, 2011 at 2:43 PM, Johanson, Adam wrote:

> Mike Shaw wrote:
> > If he's not happy 'cause the LRECL is too short, give me an error
> message, don't just change things without telling me!
>
> I don't know if this qualifies as HLASM telling you that it's
> changing things, but the Programmer's Guide says that the file attributes
> should be what HLASM is changing them to:
>
>
> http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/asmp1020/10.7?SHELF=ASMSH030&DT=20080714231437#FIGCMATAB1
>
>
> Adam Johanson
> IMS Systems Programming
> USAA
>


SYSADATA file quirk

2011-02-21 Thread Mike Shaw
Everyone:

I have a PDSE defined as RECFM=VB, LRECL=300, BLKSIZE=23440. Several members
exist in the data set.

If I use HLASM 1.6 to assemble a module and point the SYSADATA DD for that
assembly to that PDSE like this in the JCL:

//C.SYSADATA DD DISP=SHR,DSN=x(memname)

with the ADATA parm specified in the assembly step, after the assembly step
executes, the DCB attributes for the file become RECFM=VB, LRECL=32756,
BLKSIZE=32760. The LRECL and BLKSIZE are changed by the assembler. Happens
every time.

Shouldn't the assembler check the DCB attributes for an existing SYSADATA
output file, particularly a PDS or PDSE, and use those attributes, rather
than CHANGING the DCB attributes without a warning? If he's not happy 'cause
the LRECL is too short, give me an error message, don't just change things
without telling me!

...or am I asking too much here?

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Baseless vs Based

2010-12-21 Thread Mike Shaw
On Tue, Dec 21, 2010 at 10:01 AM, Paul Gilmartin wrote:

> ... I was dismayed at SHARE Denver to hear
> an IBM representative boast of the design liberty IBM has
> gained by making the program object format non-GUPI.
>
> -- gil
>

No doubt, someone @ IBM thinks a GUPI-format program object would slow down
compiler development...

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: prize for a good replacement for "baseless"

2010-12-18 Thread Mike Shaw
On Sat, Dec 18, 2010 at 1:32 PM, john gilmore wrote:

> In  the future "baseless", always an ugly term embodying a dubious pun,
> will need explanation.  It will be as helpful as a description of a modern
> automobile as "crankless".
>
> To find a better term I have appointed myself to run a contest.  The prize
> for the best suggested term, the one about which a consensus emerges, is a
> book of the winner's choice, its cost not to exceed US$50|£40|€32.
>
> John Gilmore Ashland, MA 01721-1817 USA
>
>


I think 'base independent' describes it; 'base register independent' if you
want a full formal definition.

-- 
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Sample code to read a PDS member using BPAM

2010-10-13 Thread Mike Shaw
On Wed, Oct 13, 2010 at 4:33 AM, John Blythe Reid
wrote:

> 
> recommend a book on REXX in the z/OS environment ?
>

This one is old but still relevant and very easy to follow:

"REXX in the TSO Environment":by Gabe Gargiulo

http://www.amazon.com/Rexx-Tso-Environment-Qed-Mainframe/dp/0471561886/ref=sr_1_1?ie=UTF8&s=books&qid=1287012355&sr=8-1

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Instruction Set Architecture (Subject: corrected)

2010-09-09 Thread Mike Shaw
On Thu, Sep 9, 2010 at 9:05 AM, Ward, Mike S  wrote:

> Why make coding in assembler so difficult. People already complain that
> it shouldn't be used because it's outdated and incomprehensible.
> 
>

Only those who can't or won't comprehend it say that...;-)
--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: The new POO (Props / ProP ) is available

2010-09-03 Thread Mike Shaw

 Looks like a single bit in the facility bit string is being used to
reflect the presence of several of the new facilities;  in the past, IBM
generally used one bit to indicate the presence of each new facility;
bit 45 in the facility bit string says this (page 4-68):

"The distinct-operands, fast-BCR-serialization, high-word,
interlocked-access, load/store-on-condition, and population-count
facilities are installed in the z/Architecture architectural mode."

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: The new POO (Props / ProP ) is available

2010-09-03 Thread Mike Shaw
On Fri, Sep 3, 2010 at 6:47 PM, Steve Comstock wrote:

>
> http://www-01.ibm.com/support/docview.wss?uid=isg2b9de5f05a9d57819852571c500428f9a
>
> --
>
> Kind regards,
>
> -Steve Comstock
> The Trainer's Friend, Inc.--
>

It's early!!!

Thanks Steve...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Efficient Memory List

2010-08-24 Thread Mike Shaw
On Tue, Aug 24, 2010 at 1:40 PM, Patrick Roehl wrote:

> 
> Because of these factors, and the ideas brought out in this discussion,
> the bit string idea seems like an excellent fit.
>

Patrick:

If you implement the bit string idea, please let us know how much of an
improvement (execution time, CPU time) it provides over your current exit.

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: Mainframe Assembler Coding Contest - new problem #22

2010-08-02 Thread Mike Shaw
On Mon, Aug 2, 2010 at 7:08 AM, Tony Thigpen  wrote:

> It could be very useful for SELECT/SELECTEX processing in TCP/IP.
>
> Tony Thigpen
> 
>

Maybe for speeding up a crypto hashing function?

--
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.


Re: zEnterprise - new PoPS?

2010-07-22 Thread Mike Shaw
Gentlemen, that's too late, IMHO. We should be able to see it NOW...where is
the harm in releasing the POPs a few months BEFORE GA of the box it applies
to?
-- 
Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

2010/7/22 Martin Trübner 

> John,
>
> it says "will be available with first shipment" ...IIIR September 2010
> - so a few more weeks for us low level programmers.
>
> --
> Martin
>
> Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE
> more at http://www.picapcpu.de
>