You think processing adata is simpler I mean they data names are not in  order 

I could get what I want with esid and offset 
Doing it from the assembler was thinking of using AREAD but I am sure you know 
better than me 

Thank you 



> On Dec 30, 2021, at 5:41 PM, Bob Raicer <r...@raicer.com> wrote:
> 
> I'm not clear on what you (Joseph Reichman) are attempting to
> accomplish.  If you are going to produce a Rexx program that does
> something with symbols which appear in some form of an assembler
> data structure, then you could do something like the example shown
> below and (as others have suggested) subsequently process the
> SYSADATA file with the Rexx program.
> 
> 
>  D-Loc   Object Code      Addr1    Addr2    Stmt   Source Statement
> 00000000                00000000 00000046      1 TEST     DSECT ,
> 00000000 4040404040404040                      2 X1       DC 7CL10' '
> 00000046                                       3 X2       DC 0CL20' '
>                         00000000 00000046      4 GROUP1   EQU X1,*-X1,C'C'
>                                                5          End   ,
> 
>                                                 Symbol Cross Reference
> Symbol    Length    Value     Id   Type Asm  Program   Defn References
> GROUP1        70 00000000 FFFFFFFF    C                   4
> TEST           1 00000000 FFFFFFFF    J                   1
> X1            10 00000000 FFFFFFFF    C  C                2  4
> X2            20 00000046 FFFFFFFF    C  C                3
> 
>                                                 Dsect Cross Reference
> Dsect      Length      Id      Defn  Con  Member
> TEST      00000046  FFFFFFFF      1       PRIMARY INPUT
> 
> 
> Here is an extraction from the High Level Assembler Language
> Reference (V1.6) regarding length attributes of symbols when the
> "Duplication Factor" is zero:
> 
> *  A duplication factor of zero is permitted, except for literals,
> *  with the following results:
> *
> *  - No value is assembled.
> *
> *  - Alignment is forced according to the type of constant
> *    specified, if no length attribute is present.
> *
> *  - The length attribute of the symbol naming the constant is
> *    established according to the implicitly or explicitly specified
> *    length.
> 
> For reasons lost in antiquity, an explicitly specified Length value
> must be positive, e.g., CL0' ' is invalid.
> 
> Note that:
>  - The Length Attribute of symbol X1 is 10 (decimal) even though it
>    occupies 70 bytes.
> 
>  - The Length Attribute of symbol X2 is 20 (decimal) even though it
>    occupies zero bytes.
> 
>  - The GROUP1 equate gets you the origin location and proper length
>    of a collection of items.
> 
> There are all kinds of quirks and inconsistencies in how the assembler
> treats the length attributes of symbols.  For example, the length
> attribute of a DSECT (e.g., L'TEST in this coding example) is always 1
> even though the proper length is reflected in the DSECT Cross Reference.

Reply via email to