Once upon a time, if you wanted to put a label on a separate line you used DS 0H not EQU * because 1) you got 1/2 wd alignment needed for code and not possible S0C1s and 2) DS 0H worked with TSO TEST and EQU * did not
> From: glen herrmannsfeldt <[email protected]> > Someone wrote: > > MYCSECT CSECT > > USING *,R15 > > B BYID > > ID DC C'module-name' > > BASES DC A(MYCSECT) > > DC A(MYCSECT+4096) > > DC A(MYCSECT+2*4096) > > DC A(MYCSECT+3*4096) > > BYID DS 0H > > LM R9,R12,BASES > > DROP R15 > > USING MYCSECT,R9,R10,R11,R12 > This looks more like compiler generated code than what I > would expect from a person. Then again, my start on learning > assembler was reading the LIST output from the compilers. > When I saw the 4095 in the subject, I was expecting the old: > L 12,4095(15) > L 11,4095(12) > L 10,4095(11) > USING MYCSECT,15 > USING MYCSECT+4095,12 > USING MYCSECT+2*4095,11 > USING MYCSECT+3*4095,10 > The LM form seems to waste fewer bytes loading the base registers > (including the A constants), especially if one already has the > branch around the csect name. > But, why the DS 0H instead of putting the label on the LM? > -- glen ----------------------------------------- The information contained in this communication (including any attachments hereto) is confidential and is intended solely for the personal and confidential use of the individual or entity to whom it is addressed. If the reader of this message is not the intended recipient or an agent responsible for delivering it to the intended recipient, you are hereby notified that you have received this communication in error and that any review, dissemination, copying, or unauthorized use of this information, or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail, and delete the original message. Thank you
