david@COSMIC1.COSMIC.UGA.EDU (11/06/90)
Okay, simple question for those of you who do this sort of thing all the time: I am writing a program that has gotten a little long...long enough to lose touch with the variables and literals. I have used the multiple base-registers to offset this problem some, but it is still getting at me. One reason is that I manipulate a matrix that is 4k long. Can anyone make the concept of Control Sections and the method of dividing up a task so that each section can reference the variables it needs in a common block make sense to me? AIIIGH! I hate being born in the age of Pascal and C....I happen to like 370 ASM....
SWH@NASVM.BITNET ("Steven W. Huggins") (11/06/90)
On Mon, 5 Nov 90 13:42:08 EST <david@COSMIC1.COSMIC.UGA.EDU> said: >Okay, simple question for those of you who do this sort of thing all the time: > >I am writing a program that has gotten a little long...long enough to lose >touch with the variables and literals. I have used the multiple base-registers >to offset this problem some, but it is still getting at me. One reason is >that I manipulate a matrix that is 4k long. Can anyone make the concept of >Control Sections and the method of dividing up a task so that each section >can reference the variables it needs in a common block make sense to me? > >AIIIGH! I hate being born in the age of Pascal and C....I happen to like >370 ASM.... Hi David, First thing to do is to move the matrix to the end of the program, after the literal pool, if you don't have a "LTORG ," statement add one before the matrix. Next change the way you address the matrix, use "L Rxx,=A(MATRIX)" instead of "LA Rxx,MATRIX", the LA might work for a while if the first byte of matrix is addressable. Control sections isn't really needed here. If you want more info on control sections give me a call, I hate typing. VSE, the stories of our demise are greatly exaggerated, VSE/ESA, Steven W. Huggins B I Moyle Associates, Inc. <SWH@NASVM.BITNET> 703-803-8686 Office 612-933-2885 Home Office 202-334-3592 NAS Client(Mon & Wed)
eyal@ECHO.CANBERRA.EDU.AU (Eyal Lebedinsky) (11/06/90)
In comp.lang.asm370 you write: >Okay, simple question for those of you who do this sort of thing all the time: >I am writing a program that has gotten a little long...long enough to lose >touch with the variables and literals. I have used the multiple base-registers >to offset this problem some, but it is still getting at me. One reason is >that I manipulate a matrix that is 4k long. Can anyone make the concept of >Control Sections and the method of dividing up a task so that each section >can reference the variables it needs in a common block make sense to me? To start with, move the BIG data areas to AFTER thr LTORG, then address those blicks using A(@#$@$#). No need to break the program into multiple CSECTS. If the code itself is too large then if makes sense to break the programs into logical parts, each with its own base register (you say USING at the start of a part, then DROP at the end, and make sure the base is correct before each USING). Again, no need for multiple CSECTS in this case. >AIIIGH! I hate being born in the age of Pascal and C....I happen to like >370 ASM.... Nothing wrong with that, every language has a place and asm will still be with us when most other langs fade away.
SYSSERV@DB0ADW11.BITNET (Lutz Hamann) (11/30/90)
On Mon, 5 Nov 90 13:42:08 EST <david@COSMIC1.COSMIC.UGA.EDU> said: >I am writing a program that has gotten a little long...long enough to lose >touch with the variables and literals. I have used the multiple base-registers >to offset this problem some, but it is still getting at me. One reason is >that I manipulate a matrix that is 4k long. Can anyone make the concept of >Control Sections and the method of dividing up a task so that each section >can reference the variables it needs in a common block make sense to me? > What about this: Order your 4K via GETMAIN or DMSFREE (in CMS), remember the address and use this address in a base-register. Lutz