On 7/24/2018 7:12 PM, Jesse 1 Robinson wrote:
Yeah, touché. S-CON is an assembler thing. EXPAND is a binder thing. Have not
experimented with getting them to work together. Hoping the vendor will fix
this at the source.
You're probably thinking of the ancient technique of assembling S-CONs
into a patch area covered by a base register to aid in patch writing.
There's no trick to it. If you defined for example 10S(*) at offset +10
from the start of your USING domain and the base was R11 you got:
B010 B012 B014 B016 B018 B01A B01C B01E B020 B022 assembled at that
location.
You would then branch to the patch area when needed to fix a problem
without reassembling. For example, if your code at +4E0 into the program
was:
04E0 1B12 SR 1,2
04E2 5A10 AFB0 A 1,FIELD1
04E6 5010 AFB0 ST 1,FIELD1
and you needed to insert another subtract after the SR, you could patch
that in pretty easily. Something like:
VER 0010 B010,B012,B014,B016,B018
VER 04E2 5A10,AFB0 A 1,FIELD1
REP 0010 5B10,AFB4 S 1,FIELD2
REP 0014 5A10,AFB0 A 1,FIELD1
REP 0018 07FE BR 14
REP 04E2 45E0,B010 BAL 14,patch
These days anything produced by a modern compiler and any serious,
hand-written assembler code written in the last 20 years likely no
longer uses those highly-restrictive S/360 programming techniques (aka
"stone knives and bear skins") where a base register gave you a mere 4K
of *forward* addressability PER REGISTER!
100% of our in-house-developed products use relative-to-PSW branching --
usually short (+/- 64K branch range) and sometimes long (+/- 2G branch
range) -- exclusively for intra-CSECT branching. (Since z/OS 1.7 you've
been able to use relative branches for inter-CSECT branches as well, but
we do do that.) We use long (20-bit) displacement instructions (+/- 512K
range per base register) for storage references as well.
Patch areas still make sense, but S-CONs surely don't unless the patch
area is defined as part of the program literals -- and THAT would be a
tremendous waste of a precious 4K base register resource.
Some things are best forgotten. After writing this, I wish I had
followed my own advice... LOL
--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/
--------------------------------------------------------------------------------
This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN