You're on the right track and I'm too lazy to actually do the coding.
OTOH, why not consider changing you macro syntax to something like
USERS=(T045022,T046726,T047542,T056131,...
And then is should be fairly trivial to separate out the sub-operands of
&USERS (&USERS(&SUB) as I recall) and loop based on the number of
sub-operands (N'&USERS as I recall).
The Assembler language reference is your friend (NOT Principles of
Operation).
You're on exactly the right track for generating your length halfword,
something like
DC AL2(LISTEND-*+2)
DC C'T045022'
DC C'T047542'
...
LISTEND EQU *
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Scott McFall
Sent: Friday, October 07, 2005 12:51 PM
To: [email protected]
Subject: Assembler question
My colleague Bob Stark asked me to float a problem he's currently
experiencing at a client site out to some of the listservers for MVS and
Assember to see if anyone can help us debug this problem.
If you post back, can you please also copy your response to Bob at
[EMAIL PROTECTED] as he's in an account site and off-list with web
email.
Thanks so much!
Scott
>Date: Fri, 07 Oct 2005 14:49:13 -0400
>From: "Bob Stark" <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: S/390 Assembler Macro problem
>X-Mailer: IceWarp Web Mail 5.4.3
>X-Originating-IP: 208.165.251.16
>
>I wrote the set of macros below which generate a linked list for a control
>block module a month back, and now I am adding more userids. I hit a limit
>that I didn't realize:
>
>xx DC C'THIS MUST BE 256 BYTES OR LESS'
>
>My list is now over 256 bytes, so I have to split that up unto multiple DC
>instructions, and my technique of generating the length will no longer be
>correct. When I wrote these two macros, I scoured the Internet looking
>for examples, but didn't find much pay dirt, and the High Level Assembler
>Programmer's Guide and Language reference are short on examples that put
>everything together.
>
>So I am looking for:
>1. A suggested approach, withe a few actual lines of macro code, that show
>how to split these DC's up and loop through them.
>
>2. A Source of really good example assembler macros that I could copy
>techniques from.
>
>Here is a sample invocation of both macros:
>
> $GRP TEST,USERS='T045022 T046726 T047542 T056131 T056313 T057345 +
> T093897 T094643 T095122 T095507 T095556 T096058 +
> T096148 T096199 T096255 T096518 T097282 T097579 +
> T097617 T097623 T098914 T099268 T099301 T100052 +
> '
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html