Re: Complex immediate fields

2024-03-29 Thread Roger Bolan
When I compose a reply in Gmail, I have a fixed width font option.  Does it
come through below?
(It would be really swell if the Assembler List knew about a fixed-width
font for such examples.)
LISTUSE MAIN ESD=0001 LOC= LEN=01000 REG=F OFF=0 LAB=
00  (1/12)10  WIPE  BUF,C'A'
00 4100F01010(1/3)11+ LA0,BUF
04 A7180200  (1/4)12+ LHI   1,L'BUF
08 C029C10000(1/5)13+ LFI
 2,C'A'*X'100'
0E 0E02  (1/6)14+ MVCL  0,2
10  (1/14)16 BUF  DSCL512
000210  (1/15)17  END

On Fri, Mar 29, 2024 at 4:47 PM Dan Greiner  wrote:

> The example I illustrated with the macro does not appear to have the
> overflow issue that Robert mentions ... at least, not with the z390
> assembler. A slightly modified example (with LHI instead of LA) follows:
>
> Assembler Listing
> 00(1/1)1  MACRO
> 00(1/2)2WIPE
> ,
> 00(1/3)3LA0,
> 00(1/4)4  LHI
>  1,L'
> 00(1/5)5  LFI
>  2,*X'100'
> 00(1/6)6  MVCL  0,2
> 00(1/7)7  MEND
> 00(1/9)8 MAIN CSECT
> 00   (1/10)9  USING MAIN,15
> LISTUSE MAIN ESD=0001 LOC= LEN=01000 REG=F OFF=0 LAB=
> 00  (1/12)10  WIPE
> BUF,C'A'
> 00 4100F01010(1/3)11+ LA0,BUF
> 04 A7180200  (1/4)12+ LHI   1,L'BUF
> 08 C029C10000(1/5)13+ LFI
>  2,C'A'*X'100'
> 0E 0E02  (1/6)14+ MVCL  0,2
> 10  (1/14)16 BUF  DSCL512
> 000210  (1/15)17  END
>
> (It would be really swell if the Assembler List knew about a fixed-width
> font for such examples.)
>


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: Complex immediate fields

2024-03-29 Thread Ngan, Robert (DXC Luxoft)
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: Complex immediate fields

2024-03-29 Thread Dan Greiner
The example I illustrated with the macro does not appear to have the overflow 
issue that Robert mentions ... at least, not with the z390 assembler. A 
slightly modified example (with LHI instead of LA) follows:

Assembler Listing
00(1/1)1  MACRO
00(1/2)2WIPE  ,
00(1/3)3LA0,
00(1/4)4  LHI   1,L'
00(1/5)5  LFI   
2,*X'100'
00(1/6)6  MVCL  0,2
00(1/7)7  MEND
00(1/9)8 MAIN CSECT 
00   (1/10)9  USING MAIN,15
LISTUSE MAIN ESD=0001 LOC= LEN=01000 REG=F OFF=0 LAB=
00  (1/12)10  WIPE  BUF,C'A'
00 4100F01010(1/3)11+ LA0,BUF
04 A7180200  (1/4)12+ LHI   1,L'BUF
08 C029C10000(1/5)13+ LFI   
2,C'A'*X'100'
0E 0E02  (1/6)14+ MVCL  0,2
10  (1/14)16 BUF  DSCL512
000210  (1/15)17  END 

(It would be really swell if the Assembler List knew about a fixed-width font 
for such examples.)


Re: Complex immediate fields

2024-03-29 Thread Dan Greiner
The example I illustrated with the macro does not appear to have the overflow 
issue that Robert mentions ... at least, not with the z390 assembler:

Assembler Listing
00(1/1)1  MACRO
00(1/2)2WIPE  ,
00(1/3)3LA0,
00(1/4)4  LHI   1,L'
00(1/5)5  LFI   
2,*X'100'
00(1/6)6  MVCL  0,2
00(1/7)7  MEND
00(1/9)8 MAIN CSECT 
00   (1/10)9  USING MAIN,15
LISTUSE MAIN ESD=0001 LOC= LEN=01000 REG=F OFF=0 LAB=
00  (1/12)10  WIPE  BUF,C'A'
00 4100F01010(1/3)11+ LA0,BUF
04 A7180200  (1/4)12+ LHI   1,L'BUF
08 C029C10000(1/5)13+ LFI   
2,C'A'*X'100'
0E 0E02  (1/6)14+ MVCL  0,2
10  (1/14)16 BUF  DSCL512
000210  (1/15)17  END 

(It would be really swell if the Assembler List knew about a fixed-width font 
for such examples.)


Re: Complex immediate fields

2024-03-29 Thread Charles Mills
I did not realize that one of your objections was having to code x'40' when 
what you meant was c' '.

>From the feedback I got, LFI R15,C' '*ShiftLeft24 should work but LFI 
>R15,C'A'*ShiftLeft24 will not due to overflow.

What about

   SETC  BYTE(0)  

LFI C' '

I am not a proficient macro language hacker. Will the above compile? If not, 
will something like that?

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Seymour J Metz
Sent: Friday, March 29, 2024 2:36 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

I'll have to try that once I get my userid back.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Assembler List  on behalf 
of Charles Mills 
Sent: Friday, March 29, 2024 3:26 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

What about (untested)

ShiftLeft24 EQU x'100'

 LFI R15,X'40'*ShiftLeft24

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Seymour J Metz
Sent: Friday, March 29, 2024 9:57 AM
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: Complex immediate fields

2024-03-29 Thread Seymour J Metz
I'll have to try that once I get my userid back.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Assembler List  on behalf 
of Charles Mills 
Sent: Friday, March 29, 2024 3:26 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

What about (untested)

ShiftLeft24 EQU x'100'

 LFI R15,X'40'*ShiftLeft24

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Seymour J Metz
Sent: Friday, March 29, 2024 9:57 AM
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: Complex immediate fields

2024-03-29 Thread Seymour J Metz
Good catch.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Assembler List  on behalf 
of Dan Greiner 
Sent: Friday, March 29, 2024 1:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

Seymour,

You usage of the even/odd R0/R1 pair appears to be reversed (unless you 
intended to zero some memory at whatever location L'DEST resolves to ... not to 
worry, it happens to dyslexic programmers like me all the time).

I don't know of any means by which you can split the definition of an immediate 
field such as you suggest, and I'm not sure I'd welcome that sort of complexity 
for what is otherwise a relatively simple concept: immediacy.


Re: Complex immediate fields

2024-03-29 Thread Seymour J Metz
Back in the day the PDP-6 looked coll.

MAP in IBSYS/IBJOB also had a feature that I would love to see in HLASM: the 
QUAL pseudo-op.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Assembler List  on behalf 
of Paul Gilmartin <0014e0e4a59b-dmarc-requ...@listserv.uga.edu>
Sent: Friday, March 29, 2024 1:15 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

On 3/29/24 10:56:49, Seymour J Metz wrote:
> Ba... 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?
>
Is LOCTR any help?

(You would have loved the PDP-6 immediate facility.  An immediate
value could be any sequence of instructions and constants.)

--
gil


Re: Complex immediate fields

2024-03-29 Thread Seymour J Metz
That still uses hex notation for character data, which is what I'm trying to 
avoid.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Assembler List  on behalf 
of Tom Harper <16c16a7381bc-dmarc-requ...@listserv.uga.edu>
Sent: Friday, March 29, 2024 1:12 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

Seymour,

How about this:

   LLILH R15,X’4000’

Tom Harper
Phoenix Software International

Sent from my iPhone

> On Mar 29, 2024, at 12:56 PM, Seymour J Metz  wrote:
>
> 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
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.


Re: Complex immediate fields

2024-03-29 Thread Ngan, Robert (DXC Luxoft)
That fails with an arithmetic overflow if the byte value has the high order bit 
set.

Robert Ngan
DXC Luxoft

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Charles Mills
Sent: Friday, March 29, 2024 14:27
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Complex immediate fields

What about (untested)

ShiftLeft24 EQU x'100'

 LFI R15,X'40'*ShiftLeft24

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Seymour J Metz
Sent: Friday, March 29, 2024 9:57 AM
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: Complex immediate fields

2024-03-29 Thread Charles Mills
What about (untested)

ShiftLeft24 EQU x'100'

 LFI R15,X'40'*ShiftLeft24

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Seymour J Metz
Sent: Friday, March 29, 2024 9:57 AM
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: Complex immediate fields

2024-03-29 Thread Dan Greiner
How about if you define the immediate field by simply multiplying the fill 
character by 16 megs? Assuming that the destination symbol has an implicit 
length, you could encapsulate this into a macro with just the destination and 
fill character as operands:

  MACRO
WIPE  ,
LA0,
  LA1,L'
  LFI   2,*X'100'
  MVCL  0,2
  MEND

Seems to assemble okay.


Re: Complex immediate fields

2024-03-29 Thread Paul Gilmartin

On 3/29/24 10:56:49, Seymour J Metz wrote:

Ba... 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?
 

Is LOCTR any help?

(You would have loved the PDP-6 immediate facility.  An immediate
value could be any sequence of instructions and constants.)

--
gil


Re: Complex immediate fields

2024-03-29 Thread Tom Harper
Seymour,

How about this:

   LLILH R15,X’4000’

Tom Harper
Phoenix Software International 

Sent from my iPhone

> On Mar 29, 2024, at 12:56 PM, Seymour J Metz  wrote:
> 
> 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
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.


Re: Complex immediate fields

2024-03-29 Thread Dan Greiner
Seymour,

You usage of the even/odd R0/R1 pair appears to be reversed (unless you 
intended to zero some memory at whatever location L'DEST resolves to ... not to 
worry, it happens to dyslexic programmers like me all the time). 

I don't know of any means by which you can split the definition of an immediate 
field such as you suggest, and I'm not sure I'd welcome that sort of complexity 
for what is otherwise a relatively simple concept: immediacy. 


Complex immediate fields

2024-03-29 Thread Seymour J Metz
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
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר