Re: Decimal Floating Point Numbers

2024-03-06 Thread Schmitt, Michael
The decimal position in a COBOL field affects more than just the display*. It also affects rounding, truncation, scaling and alignment. For example: Field-1 pic 99v999 value 10.100 Field-2 pic 9v value 1.2345 Field-3 pic 999v99 Compute field-3 = field-1 + field-2 results in 11.33.

Re: Linkage Editor Include Order

2023-12-05 Thread Schmitt, Michael
And regrettable that ORDER won't work for sections in different classes, even if those classes will end up in the same segment. I opened an RFE on this but it was declined. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Paul Gilmartin Sent: Monday, December 4,

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

2023-11-13 Thread Schmitt, Michael
- From: IBM Mainframe Assembler List On Behalf Of Paul Gilmartin Sent: Monday, November 13, 2023 12:50 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Is True Skip-Sequential Processing Possible with RECFM=FB,DSORG=PS? On 11/13/23 08:23:44, Schmitt, Michael wrote: >>> As long no one

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

2023-11-13 Thread Schmitt, Michael
>> As long no one ever uses DISP=MOD ...or checkpoints. Checkpoints can cause short blocks to be written. (My knowledge is with IMS/DB GSAM checkpoints.) -Original Message- From: IBM Mainframe Assembler List On Behalf Of Jon Perryman Sent: Sunday, November 12, 2023 5:18 PM To:

Re: Variable-Length Parameter List Attributes

2023-10-19 Thread Schmitt, Michael
At my company, the standard going back at least 37 years has been to compile or assemble, then the job immediately NCAL links the object deck into an "object module" (not to be confused with PDSE "program object"). The object deck is discarded, the object module is saved. I'm not sure *why* we

Re: Will z/OS be obsolete in 5 years?

2023-07-19 Thread Schmitt, Michael
I Am Not A GPL Expert but... My understanding is... * A company can create closed source products using the GCC toolchain * A company can make changes to the GCC toolchain, and then use it to create closed source products (but maybe this is different in GPL3) But * If you sold a compiler

Re: ChatGPT "knows" HLASM

2023-06-01 Thread Schmitt, Michael
I asked ChatGPT: Write a z/Architecture assembler program to solve Advent of Code 2021 day 17 part 2. I was expecting a result like linked in this post: https://www.reddit.com/r/adventofcode/comments/ri9kdq/comment/hqcqzqe/?utm_source=share_medium=web2x=3 (click on z/Architecture

Re: Assembler theology question

2023-06-01 Thread Schmitt, Michael
I would use the first method, because it is more understandable for users* that don't have deep knowledge of both HLASM syntax and what the base field name is in the DSECTs. * like myself -Original Message- From: IBM Mainframe Assembler List On Behalf Of Phil Smith III Sent:

Notepad++ language formatting

2023-05-18 Thread Schmitt, Michael
Is there a language formatting file for Notepad++ for HLASM? What I found in Google is that there is one but it had no link to download it.

Re: ASMA500 message question

2022-11-18 Thread Schmitt, Michael
With any larger terminal size our session manager uses logmode D4C32XX3 (vs. SNX32705 for mod 5). I can override that, but that's the logmode that works for non-standard terminals. In single-session 62x160 works. In multi-session selecting TSO just kicks me back to the menu. (I think the font

Re: ASMA500 message question

2022-11-18 Thread Schmitt, Michael
opinion -- only 27x132. I hated the few times I tried to use x3270/wx3270 - totally unintuitive. Peter -Original Message- From: IBM Mainframe Assembler List On Behalf Of Schmitt, Michael Sent: Friday, November 18, 2022 12:04 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: ASMA500 message

Re: ASMA500 message question

2022-11-18 Thread Schmitt, Michael
I can say that I don't use GOFF because it requires LIST(133), which would be OK except that we run the assembler listings through a program that adds cross-reference statement numbers to the right side of the listing, which increases the listing line size. LIST(121) listings are expanded to

Re: YA MGCRE RCF?

2022-07-14 Thread Schmitt, Michael
I've never used OPSYN. Can this technique be used with the execute form of the CALL macro, so that the linkage items can be further away from the base registers? -Original Message- From: IBM Mainframe Assembler List On Behalf Of João Reginato Sent: Thursday, July 14, 2022 8:53 AM

Re: When did logical instructions appear?

2022-06-16 Thread Schmitt, Michael
Specifying 9(4) or S9(4) can have a maximum value of 9,999 (i.e. 4 decimal digits), depending on the chosen TRUNC compiler option. TRUNC(BIN) means to truncate at the halfword or fullword. But we use TRUNC(OPT), which means "do whatever is the most efficient", which can truncate at . So

When did logical instructions appear?

2022-06-16 Thread Schmitt, Michael
My company's COBOL coding standards are* to define binary fields as signed (e.g. PIC S9(4) BINARY). I'm wondering why that's the standard. The original standards were developed at least 40-60 years ago. They were revised in 1994 but the signed binary guidance remained. One explanation could be

Re: MVCRL

2022-06-08 Thread Schmitt, Michael
the lengths of the source and destinations be specified? - Original Message - From: "Schmitt, Michael" To: Sent: Wednesday, June 08, 2022 8:28 AM Subject: MVCRL Why isn't there a Move Relative Long instruction, i.e. move with no registers, where both the source and destination ar

Re: MVCRL

2022-06-08 Thread Schmitt, Michael
t. Robert Ngan DXC Luxoft -Original Message- From: IBM Mainframe Assembler List On Behalf Of Schmitt, Michael Sent: Tuesday, June 7, 2022 17:29 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: MVCRL Why isn't there a Move Relative Long instruction, i.e. move with no registers, where both

MVCRL

2022-06-07 Thread Schmitt, Michael
Why isn't there a Move Relative Long instruction, i.e. move with no registers, where both the source and destination are relative to the instruction address? Is this because there's no instruction format with two RI fields and a length?

Re: Generating a TR field

2022-05-27 Thread Schmitt, Michael
Ooh, that is slick. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Ed Jaffe Sent: Thursday, May 26, 2022 4:36 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Generating a TR field On 5/26/2022 2:23 PM, Schmitt, Michael wrote: > I want to replace

Generating a TR field

2022-05-26 Thread Schmitt, Michael
I want to replace all '*' with a space in a field. That's a TR instruction, right? But when I search through our 40 years of assembler code, I see no uses of TR for such a purpose. I thinking this is because of difficulty in building the TR table. We'd need to have 256 bytes where every byte's

Re: Quadword constant

2022-05-19 Thread Schmitt, Michael
Today I learned that there isn't a fixed point DOUBLEWORD constant either. I never noticed that DC D isn't fixed point, it is floating point. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Schmitt, Michael Sent: Monday, April 18, 2022 10:03 AM To: ASSEMBLER-LIST

Re: Missing New z16 Instructions

2022-05-11 Thread Schmitt, Michael
There's a LFI mnemonic? Where is this documented? The HLASM Language Reference just says that extended mnemonics for non-branch instructions are documented in PoP. But I'm not finding it in PoP either. And if it was in PoP, where would it be documented? In the IILF topic? The problem I have is

Re: Unsigned 64-bit numbers

2022-04-28 Thread Schmitt, Michael
How did you do it in COBOL? -Original Message- From: IBM Mainframe Assembler List On Behalf Of Dave Clark Sent: Tuesday, February 1, 2022 11:39 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Unsigned 64-bit numbers I previously asked about 32-bit unsigned numbers and that

Quadword constant

2022-04-18 Thread Schmitt, Michael
HLASM has fixed decimal constants for Halfwords, Fullwords, Doublewords, with appropriate alignment. Why is there none for Quadwords? The closest I see is LQ, but that appears to be intended for floating point.

Re: Next instruction needed

2022-04-14 Thread Schmitt, Michael
Fill Immediate: FILLI field,x'FF' set field to high-values Where machine sets field to the immediate value: space, zeros, whatever -Original Message- From: IBM Mainframe Assembler List On Behalf Of Tom Harper Sent: Thursday, April 14, 2022 12:06 PM To:

Re: Inlining routines

2022-04-01 Thread Schmitt, Michael
I'm thinking this might work... Instruction Instruction do_b0100 equ * the sub call is replaced by a label org *+b0100_sub_len and an org that leaves a hole the size of the inlined code Instruction : : org do_b0100

Inlining routines

2022-04-01 Thread Schmitt, Michael
I like to code in assembler as well-structured, even though that's not the maximum possible efficiency. For example, I'll break up the program into subroutines even when the subroutine is only executed from one place. In COBOL this actually is optimal, since the optimizer will inline the

Re: Does HLASM use NOTE and POINT on UNIX files?

2022-03-31 Thread Schmitt, Michael
and POINT on UNIX files? > -Original Message- > From: IBM Mainframe Assembler List l...@listserv.uga.edu> On Behalf Of Schmitt, Michael > Sent: 31 March 2022 17:58 > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Does HLASM use NOTE and POINT on UNIX files? >

Re: Does HLASM use NOTE and POINT on UNIX files?

2022-03-31 Thread Schmitt, Michael
Good point. Maybe it was a System/36? -Original Message- From: IBM Mainframe Assembler List On Behalf Of Dave Clark Sent: Thursday, March 31, 2022 11:53 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Does HLASM use NOTE and POINT on UNIX files? "IBM Mainframe Assembler List"

Re: Does HLASM use NOTE and POINT on UNIX files?

2022-03-31 Thread Schmitt, Michael
, 2022, at 09:54:38, Schmitt, Michael wrote: > How did the assembler originally work, back when punched cards were used? I don't really know. > How did "EXEC PGM=..." originally work, back when punched cards were used? I suspect SYSIN, but neither SYSLIB nor STEPLIB. -- gil

Re: Does HLASM use NOTE and POINT on UNIX files?

2022-03-31 Thread Schmitt, Michael
and POINT on UNIX files? What language translator supports COPY members on cards (or in any other sequential medium, for that matter)? Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Schmitt, Michael Sent: Thursday

Re: Does HLASM use NOTE and POINT on UNIX files?

2022-03-31 Thread Schmitt, Michael
A stack of file pointers doesn't work when you're reading the copy files from punched cards.  -Original Message- From: IBM Mainframe Assembler List On Behalf Of Paul Gilmartin Sent: Thursday, March 31, 2022 9:54 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Does HLASM use NOTE

Jump vs. Branch

2022-03-04 Thread Schmitt, Michael
Am I correct in assuming that branch relative (HLASM "jump") instructions are more efficient than branches using register+displacement? C. Kevin Shum's IBM Z System Processor Optimization Primer says: Use relative branches instead of non-relative (indirect branches) when possible but

Re: Rules for Zoned Overpunch

2022-02-14 Thread Schmitt, Michael
R2,0(,R4) # BRC 13,L0005 TM 236(,R13),X'3F' # BRC 7,L0005 -Original Message- From: IBM Mainframe Assembler List On Behalf Of Schmitt, Michael Sent: Monday, February 14, 2022 11:12 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Rules for Zoned

Re: Rules for Zoned Overpunch

2022-02-14 Thread Schmitt, Michael
ri, 11 Feb 2022 18:40:42 +0000 "Schmitt, Michael" wrote: :>What do you want to do if it is /not/ FACEBD? :>Also, while the machine instructions consider F to be positive, IBM COBOL since VS COBOL II really wants 3 signs: F, C, D, where F is UNSIGNED. So it does make a difference

Re: Rules for Zoned Overpunch

2022-02-11 Thread Schmitt, Michael
What do you want to do if it is /not/ FACEBD? Also, while the machine instructions consider F to be positive, IBM COBOL since VS COBOL II really wants 3 signs: F, C, D, where F is UNSIGNED. So it does make a difference when a packed or zoned field is being returned from an assembler program;

Re: Branch-and-Link nomenclature question

2022-02-10 Thread Schmitt, Michael
Then there's the point that they really are Save and (then) Branch, not Branch and (then) Save... -Original Message- From: IBM Mainframe Assembler List On Behalf Of David Cole Sent: Thursday, February 10, 2022 10:04 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Branch-and-Link

Re: External Assembler REXX Function

2022-02-01 Thread Schmitt, Michael
We have the REXX Catalog Search Interface (CSI), via IGGCSI00. But we can't do VSAM I/O from REXX, using standard out-of-the-box TSO. There's probably something in SHARE. Or vendor products. As far as I know. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Dave

Re: External Assembler REXX Function

2022-02-01 Thread Schmitt, Michael
> The external assembler REXX function I am working on is so that I don't have to depend upon the built-in REXX VSAMIO function. Why does VSE get VSAMIO but MVS doesn't? I could understand if REXX in VM was more advanced, but VSE?? -Original Message- From: IBM Mainframe Assembler List

Re: Saving Caller's 64-bit Registers

2022-01-31 Thread Schmitt, Michael
I will recklessly attempt to demonstrate the knowledge acquired from this thread by confidently stating... No, the only thing you know is that if word1 is FxSA something then that save area is at least 144 bytes. For example: I'm program B. I somehow know that Program A gave me a 216 byte

Re: Saving Caller's 64-bit Registers

2022-01-31 Thread Schmitt, Michael
I know we've beaten this to death, but let me try and explain why this is so hard to get. The manual says that to save high halves when provided a 72-byte save area, you can use format 5 (F5SA), and it defines what that save area looks like. But does it look like that? Maybe, maybe not.

Re: Saving Caller's 64-bit Registers

2022-01-28 Thread Schmitt, Michael
wH7VN?u=http%3A%2F%2Fmason.gmu.edu%2F~smetz3 ________ From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Schmitt, Michael [michael.schm...@dxc.com] Sent: Thursday, January 20, 2022 10:56 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Sa

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-28 Thread Schmitt, Michael
I just want to point out that it isn't a good idea for an AMODE 31 program to *assume* that since the program was originally designed to be called as a high level program, it is going to get 144 bytes and can use it to save the 64-bit registers. As an application programmer, I expect that any

Re: Saving Caller's 64-bit Regsiters

2022-01-28 Thread Schmitt, Michael
2022 2:37 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters On 2022-01-28 15:08 PM, Schmitt, Michael wrote: > Also the linkage stack is not supported by Language Environment, so you > should not be using it in any code that can be called in an LE run-unit. I

Re: Saving Caller's 64-bit Regsiters

2022-01-28 Thread Schmitt, Michael
Also the linkage stack is not supported by Language Environment, so you should not be using it in any code that can be called in an LE run-unit. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Farley, Peter x23353 Sent: Friday, January 21, 2022 5:39 PM To:

Re: Saving Caller's 64-bit Registers

2022-01-20 Thread Schmitt, Michael
The problem is that the new save area formats are not compatible with the 72-byte save area format, so you can't use them in amode 31 unless you control both the calling and called programs. And they're not supported by Language Environment. -Original Message- From: IBM Mainframe

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-19 Thread Schmitt, Michael
Sorry, when you said subroutine I thought you were creating a macro. I think that you're required to preserve the high halves of GPR 2-14, i.e. you can't mess with them without restoring. But you can change R0, R1, and R15 without restoring. This is from the Assembler Services Guide.

Re: Unsigned Binary Formats

2022-01-19 Thread Schmitt, Michael
Is register 2 considered volatile for the 64 bit high half? If not, then how do you know if the macro user will preserve and restore the register? -Original Message- From: IBM Mainframe Assembler List On Behalf Of Dave Clark Sent: Wednesday, January 19, 2022 3:48 PM To:

Re: Is it possible to update CSA from an unauthorized user-key program?

2021-12-07 Thread Schmitt, Michael
If it is an IBM RFE, how about enhancing Window Services so that a temporary object could be accessed cross-address space? Then you get all of the other goodness of Window Services. (I say that never having actually used Windows Services, but I assume it has goodness since there’s a lot of

Re: z/Architecture Principles of Operation pdf

2021-12-02 Thread Schmitt, Michael
. I've tried fixing some of the bugs but get bogged down in trying > to figure out what CSS to generate. What about converting to XML and pushing the formatting issue into the style sheet? Best wishes, Ian ... On Monday, November 15, 2021, 11:53:41 AM GMT-5, Schmitt, Michael wrote:

Re: z/Architecture Principles of Operation pdf

2021-11-15 Thread Schmitt, Michael
I miss BookMaster too, because all of my system documentation is written in it, and we can't format documentation updates anymore. (The problem is that the sysplex licensing for SCRIPT/VS is prohibitively expensive. No SCRIPT means no BookMaster.) I also have a system that creates both printed

Re: Curious compiler optimization

2021-11-14 Thread Schmitt, Michael
[snipped due to line limit] I think what we’re seeing is the evolution of compilers on z/OS. Take the COBOL compiler: it used to be that the optimizer was a distinctly optional extra step. That is, NOOPT would generate a reasonable set of instructions, that would be approximately what a person

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-10 Thread Schmitt, Michael
How do you ensure that your storage areas are far enough away from the code to not be in the instruction cache line, when your data isn't in GETMAIN storage? You can mitigate by putting constants in between, but how do you know if that's enough?

Add 1, Subtract 1

2021-03-10 Thread Schmitt, Michael
I was taught long ago to add 1 to a register using LA r#,1(,r#) and to subtract 1 using BCTR r#,0. Is the fastest way now to use AHI r#,1 and AHI r#,-1?

Re: Register saving formats

2020-10-07 Thread Schmitt, Michael
And the linkage stack is not supported by Language Environment. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Farley, Peter x23353 Sent: Wednesday, October 7, 2020 1:12 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Register saving formats True, but my

Register saving formats

2020-09-30 Thread Schmitt, Michael
Let's say you want to create an amode 31 assembler program that uses 64-bit instructions that modify the high words of registers. Per the Assembler Services Guide, such a program must preserve the high halves of GPR 2-14. But where do you preserve them? There are save area formats that can

Re: Deep cuts

2020-09-04 Thread Schmitt, Michael
JCL can pass a null argument because the parm format is a length followed by the parm string. It is passing a zero-length parm. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Paul Gilmartin Sent: Friday, September 4, 2020 10:33 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU

Re: Reply to ZoomToSHARE.org session Wed. Sept. 2, 2020 from 11-12 AM EDT

2020-09-02 Thread Schmitt, Michael
So the website is http://www.mathrutech.com/index.html. The pricing seems suspicious to me. Are you sure this is a real mainframe and not an older version of IBM Z Development and Test Environment (or a newer version of Rational Developer for System Z Unit Test), where you’re actually running

Re: Clearing a register

2020-08-10 Thread Schmitt, Michael
Assembler List On Behalf Of Schmitt, Michael Sent: Monday, August 10, 2020 2:56 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Clearing a register *** External email: Verify sender before opening attachments or links *** Yes, only clear low 32-bits of 64-bit registers. I've seen method #3

Re: Clearing a register

2020-08-10 Thread Schmitt, Michael
suppose if you want compatibility with machines of 30/40 years ago you might tend towards XR and SR. My 2 cents worth, Mike -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Schmitt, Michael Sent: Monday, August 10, 2020 3:13

Clearing a register

2020-08-10 Thread Schmitt, Michael
There are many ways to set a register to binary zero. My question is, which is the most efficient? 1. XR Rn,Rn 2. SR Rn,RN 3. SRA Rn,Rn 4. LHI Rn,0 5. Other instruction 6. Depends on hardware 7. Depends on other factors. (What?) 8. They are have equal performance 9.

Re: z/390 Assembler and START statement.

2020-06-03 Thread Schmitt, Michael
It works for me with HLASM R6.0, and is as Charles Mills said: it changes the location counter value reported in the listing. I wouldn’t think it would change the relative address in the object? Because then your entry point would be greater than the CSECT size. Without the expression: Loc

Re: z/OS HLASM: EQU for statement labels

2020-06-02 Thread Schmitt, Michael
-Original Message- From: IBM Mainframe Assembler List On Behalf Of Seymour J Metz Sent: Tuesday, June 02, 2020 12:25 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: z/OS HLASM: EQU for statement labels Ah, I thought that you were using the macros from the HLASM Toolkit. BTW, I do

Re: z/OS HLASM: EQU for statement labels

2020-06-02 Thread Schmitt, Michael
On 2020-06-02, at 10:32:23, Seymour J Metz wrote: > > if x >if y > do a > foo endif > bar else > do b > endif > >> Then later if you want to insert more instructions immediately before the >> ELSE, it is very clear where to put them

Re: z/OS HLASM: EQU for statement labels

2020-06-02 Thread Schmitt, Michael
Thank you for your replies. I too was originally taught to use DS 0H for a label statement, because it guaranteed halfword instruction alignment. But I recently started using EQU * because a) it seemed to be clearer as to the intent, and b) I figured that if your instructions weren't aligned

z/OS HLASM: EQU for statement labels

2020-06-01 Thread Schmitt, Michael
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