Unless something has changed you can't use quoted symbols as the value of an 
X-type constant, although you can use SET symbols . So

FLAGS              DC    AL4(LDAP_AUTH_ENABLED+TRACE)

A technique that I have seen used in macros is to repurpose the length 
attribute in order to define both an address and a mask for each flag bit:

FLAGS              DS    0AL4
FLAG1              DC    AL1(L'TRACE)
TRACE              EQU   FLAG1,X'80'    ENABLE TRACING
FLAG2              DC    AL1(0)
FLAG3              DC    AL1(0)
FLAG4              DC    AL1(l'LDAP_AUTH_ENABLED+TRACE)
LDAP_AUTH_ENABLED  EQU   FLAG1,X'01'    LDAP AUTH IS ENABLED
USE_SSL            EQU   FLAG4,X'02'    SSL IS ENABLED
STRICT_MODE        EQU   FLAG4,X'04'    STRICT USER MAPPING



--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on behalf 
of Rene BRANDT [[email protected]]
Sent: Sunday, August 13, 2023 2:23 AM
To: [email protected]
Subject: Re: Self-documenting Bit Settings

 Hi,

If you want it unaligned code it as :
FLAGS DC XL4(LDAP_AUTH_ENABLED+TRACE)

René



     Le vendredi 11 août 2023 à 19:25:04 UTC+2, Dave Clark 
<[email protected]> a écrit :

         Given this:

FLAGS              DC    XL4'80000001'
LDAP_AUTH_ENABLED  EQU    X'00000001'    LDAP AUTH IS ENABLED
USE_SSL            EQU    X'00000002'    SSL IS ENABLED
STRICT_MODE        EQU    X'00000004'    STRICT USER MAPPING
TRACE              EQU    X'80000000'    ENABLE TRACING


        It makes more sense to me (and is self-documenting) to code it
this way.

FLAGS              DC    A(LDAP_AUTH_ENABLED+TRACE)


        But that yields aligned storage, correct?  Is there a way to
achieve the same result but without aligned storage?

Sincerely,

Dave Clark
--
int.ext: 91078
direct: (937) 531-6378
home: (937) 751-3300

Winsupply Group Services
3110 Kettering Boulevard
Dayton, Ohio  45439  USA
(937) 294-5331



*********************************************************************************************
This email message and any attachments is for use only by the named
addressee(s) and may contain confidential, privileged and/or proprietary
information. If you have received this message in error, please
immediately notify the sender and delete and destroy the message and all
copies. All unauthorized direct or indirect use or disclosure of this
message is strictly prohibited. No right to confidentiality or privilege
is waived or lost by any error in transmission.
*********************************************************************************************

Reply via email to