开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

What changes were made to Assembler H to support MTS and can those be ported to, say Assembler G?


 

开云体育

Just wondering what changes were made to Assembler-H to make it support MTS and could those be ported to Assembler-G.

Are there any other assemblers that work on MTS that could be modified easier?

?

I got a bunch of rates stuff assembled successfully with Assembler G after modifying some of the macros.? The final piece is RNBRSUB. I wrote a local copy with my own billing classes, but it

Has a bunch of includes that I have to restore from the distribution tapes.? Not sure there are landmines in there.

?

Comments in RNBRSUB say it can be installed with Pistle, which I assume is a way to hot-swap system components without an IPL. Is there some documentation on this? To install it permanently, I assume I use RAMROD.

On TCP/IP – are there any Telnet connections configured in the d6.0A TABLES?? If I use Mike Alexander’s current code, will I be able to test out internet stuff with d6.0A?

?

Anxiously awaiting d7.0, especially Confer. ?


 

There are a number of interesting questions here, I'll see what I can do to answer some of them.

Assembling parts of MTS with ASMG is not going to be easy, or even possible. There are other 370 assemblers that are closer to ASMH which might be a better starting point. There have been a number of discussions about this on various Hercules or MTS lists.

The ASMH in MTS is about three generations removed from ASMG. First you have the extensive changes to the language IBM made. Then there are a number of changes made at Stanford University. The MTS version is based on the Stanford version with more changes. The update files in MTS go from the IBM version through all these changes to the MTS version.
There are about 50 files containing well over 10,000 lines, probably at least twice that or more.. And tthe starting point (IBM ASMH) is only distantly related to ASMG.

There is a list of all the changes to the language between the IBM and MTS versions of ASMH in MTS Volume 14 on page 18. It contains 27 items over 7 pages. Some are trivial, but some aren't, for example number 19 describes forward references on ORG statements which are used in a number of macros in MTS.

The expression on an ORG statement can contain symbols not yet defined in the program. There must be exactly one way in which the
locations counters can be assigned, i.e., the ORGs must be resolvable and unambiguous.

Number 25 and 26 describe significant extensions to USING statements and the resolution of base/displacement values through them which are used extensively in MTS. These two points take up about 4 pages.

This section of Vol 14 only describes language changes, not other changes such as the PEXIT parameter which is used to improve the printed listing.

PISTLE is the Post IPL system loader. It loads code into shared VM during startup or later when run by a system programmer. It is not related to RAMROD. There is a command macro to invoke it somewhere, perhaps in MTS:CMDMACLIB. During startup it is invoked from *S2L.
Installing something loaded by PISTLE simply means copying the new object to whatever file *S2L loads it from.

PISTLE is related to the NAS loader which loads things into Named Address Spaces. NASes are preloaded segments of storage which can be attached to MTS tasks as required. For example ASMH is loaded into a NAS and *ASMH is a small driver program which attaches the NAX and calls it. I think these existed in D6, they are used extensively in the 1996 system.

D6 doesn't have working IP support, the Internet was pretty new in 1988. As a side note it was sometime in 1989 that I put the first IP packets on an ethernet at the University of London, somewhat to the consternation of the local network support folks who thought that TCP/IP would swamp the ethernet and were surprised when it didn't The 1996 system has decent support for the Internet as it existed then (i.e. no encryption of any sort). This requires changes to Hercules which are almost done.

I hope this helps a bit.

Mike

On 5 Jun 2023, at 22:09, John Palmer wrote:

Just wondering what changes were made to Assembler-H to make it support MTS and could those be ported to Assembler-G.

Are there any other assemblers that work on MTS that could be modified easier?

I got a bunch of rates stuff assembled successfully with Assembler G after modifying some of the macros.? The final piece is RNBRSUB. I wrote a local copy with my own billing classes, but it

Has a bunch of includes that I have to restore from the distribution tapes.? Not sure there are landmines in there.

Comments in RNBRSUB say it can be installed with Pistle, which I assume is a way to hot-swap system components without an IPL. Is there some documentation on this? To install it permanently, I assume I use RAMROD.

On TCP/IP – are there any Telnet connections configured in the d6.0A TABLES?? If I use Mike Alexander’s current code, will I be able to test out internet stuff with d6.0A?

Anxiously awaiting d7.0, especially Confer. ?


 

Mike,
Rather than mess with one of the assemblers running on the "Mainframe" would it be easier to modify the Z390 assembler which is written in Java and runs on any environment with java?



Dave

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Mike
Alexander
Sent: Wednesday, June 7, 2023 6:11 AM
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to support
MTS and can those be ported to, say Assembler G?

There are a number of interesting questions here, I'll see what I can do to
answer some of them.

Assembling parts of MTS with ASMG is not going to be easy, or even possible.
There are other 370 assemblers that are closer to ASMH which might be a better
starting point. There have been a number of discussions about this on various
Hercules or MTS lists.

The ASMH in MTS is about three generations removed from ASMG. First you
have the extensive changes to the language IBM made. Then there are a
number of changes made at Stanford University. The MTS version is based on
the Stanford version with more changes. The update files in MTS go from the
IBM version through all these changes to the MTS version.
There are about 50 files containing well over 10,000 lines, probably at least
twice that or more.. And tthe starting point (IBM ASMH) is only distantly related
to ASMG.

There is a list of all the changes to the language between the IBM and MTS
versions of ASMH in MTS Volume 14 on page 18. It contains 27 items over 7
pages. Some are trivial, but some aren't, for example number 19 describes
forward references on ORG statements which are used in a number of macros in
MTS.

The expression on an ORG statement can contain symbols not yet
defined in the program. There must be exactly one way in which the
locations counters can be assigned, i.e., the ORGs must be resolvable
and unambiguous.
Number 25 and 26 describe significant extensions to USING statements and the
resolution of base/displacement values through them which are used extensively
in MTS. These two points take up about 4 pages.

This section of Vol 14 only describes language changes, not other changes such
as the PEXIT parameter which is used to improve the printed listing.

PISTLE is the Post IPL system loader. It loads code into shared VM during startup
or later when run by a system programmer. It is not related to RAMROD. There
is a command macro to invoke it somewhere, perhaps in MTS:CMDMACLIB.
During startup it is invoked from *S2L.
Installing something loaded by PISTLE simply means copying the new object to
whatever file *S2L loads it from.

PISTLE is related to the NAS loader which loads things into Named Address
Spaces. NASes are preloaded segments of storage which can be attached to
MTS tasks as required. For example ASMH is loaded into a NAS and *ASMH is a
small driver program which attaches the NAX and calls it. I think these existed in
D6, they are used extensively in the 1996 system.

D6 doesn't have working IP support, the Internet was pretty new in 1988.
As a side note it was sometime in 1989 that I put the first IP packets on an
ethernet at the University of London, somewhat to the consternation of the
local network support folks who thought that TCP/IP would swamp the ethernet
and were surprised when it didn't The 1996 system has decent support for the
Internet as it existed then (i.e. no encryption of any sort). This requires changes
to Hercules which are almost done.

I hope this helps a bit.

Mike

On 5 Jun 2023, at 22:09, John Palmer wrote:

Just wondering what changes were made to Assembler-H to make it
support MTS and could those be ported to Assembler-G.

Are there any other assemblers that work on MTS that could be modified
easier?

I got a bunch of rates stuff assembled successfully with Assembler G
after modifying some of the macros. The final piece is RNBRSUB. I
wrote a local copy with my own billing classes, but it

Has a bunch of includes that I have to restore from the distribution
tapes. Not sure there are landmines in there.

Comments in RNBRSUB say it can be installed with Pistle, which I
assume is a way to hot-swap system components without an IPL. Is there
some documentation on this? To install it permanently, I assume I use
RAMROD.

On TCP/IP – are there any Telnet connections configured in the d6.0A
TABLES? If I use Mike Alexander’s current code, will I be able to
test out internet stuff with d6.0A?

Anxiously awaiting d7.0, especially Confer. ?



 

I don't think anyone ever ported Java to MTS.

It would be hard because the class layout in Java (i.e. "com.abc.package1.package2.class") requires a directory structure and MTS is "flat".

I know there was the beginning of a design to implement a hierarchical directory system in MTS, but it never went anywhere.

One funny note about that subject is that there was a whole Confer item where people debated endlessly about what the directory separator character should be ( ":", "/", "\", etc).
More words were generated on that one point than on any other design aspect ?

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Dave Wade
Sent: Wednesday, June 7, 2023 15:27
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to support MTS and can those be ported to, say Assembler G?

Mike,
Rather than mess with one of the assemblers running on the "Mainframe" would it be easier to modify the Z390 assembler which is written in Java and runs on any environment with java?



Dave

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Mike
Alexander
Sent: Wednesday, June 7, 2023 6:11 AM
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to
support MTS and can those be ported to, say Assembler G?

There are a number of interesting questions here, I'll see what I can
do to answer some of them.

Assembling parts of MTS with ASMG is not going to be easy, or even possible.
There are other 370 assemblers that are closer to ASMH which might be
a better starting point. There have been a number of discussions
about this on various Hercules or MTS lists.

The ASMH in MTS is about three generations removed from ASMG. First
you have the extensive changes to the language IBM made. Then there
are a number of changes made at Stanford University. The MTS version
is based on the Stanford version with more changes. The update files
in MTS go from the IBM version through all these changes to the MTS version.
There are about 50 files containing well over 10,000 lines, probably
at least twice that or more.. And tthe starting point (IBM ASMH) is
only distantly related to ASMG.

There is a list of all the changes to the language between the IBM and
MTS versions of ASMH in MTS Volume 14 on page 18. It contains 27
items over 7 pages. Some are trivial, but some aren't, for example
number 19 describes forward references on ORG statements which are
used in a number of macros in MTS.

The expression on an ORG statement can contain symbols not yet
defined in the program. There must be exactly one way in which the
locations counters can be assigned, i.e., the ORGs must be
resolvable and unambiguous.
Number 25 and 26 describe significant extensions to USING statements
and the resolution of base/displacement values through them which are
used extensively in MTS. These two points take up about 4 pages.

This section of Vol 14 only describes language changes, not other
changes such as the PEXIT parameter which is used to improve the printed listing.

PISTLE is the Post IPL system loader. It loads code into shared VM
during startup or later when run by a system programmer. It is not
related to RAMROD. There is a command macro to invoke it somewhere, perhaps in MTS:CMDMACLIB.
During startup it is invoked from *S2L.
Installing something loaded by PISTLE simply means copying the new
object to whatever file *S2L loads it from.

PISTLE is related to the NAS loader which loads things into Named
Address Spaces. NASes are preloaded segments of storage which can be
attached to MTS tasks as required. For example ASMH is loaded into a
NAS and *ASMH is a small driver program which attaches the NAX and
calls it. I think these existed in D6, they are used extensively in the 1996 system.

D6 doesn't have working IP support, the Internet was pretty new in 1988.
As a side note it was sometime in 1989 that I put the first IP
packets on an ethernet at the University of London, somewhat to the
consternation of the local network support folks who thought that
TCP/IP would swamp the ethernet and were surprised when it didn't The
1996 system has decent support for the Internet as it existed then
(i.e. no encryption of any sort). This requires changes to Hercules which are almost done.

I hope this helps a bit.

Mike

On 5 Jun 2023, at 22:09, John Palmer wrote:

Just wondering what changes were made to Assembler-H to make it
support MTS and could those be ported to Assembler-G.

Are there any other assemblers that work on MTS that could be
modified easier?

I got a bunch of rates stuff assembled successfully with Assembler G
after modifying some of the macros. The final piece is RNBRSUB. I
wrote a local copy with my own billing classes, but it

Has a bunch of includes that I have to restore from the distribution
tapes. Not sure there are landmines in there.

Comments in RNBRSUB say it can be installed with Pistle, which I
assume is a way to hot-swap system components without an IPL. Is
there some documentation on this? To install it permanently, I
assume I use RAMROD.

On TCP/IP – are there any Telnet connections configured in the d6.0A
TABLES? If I use Mike Alexander’s current code, will I be able to
test out internet stuff with d6.0A?

Anxiously awaiting d7.0, especially Confer. ?



 

Thanks for the info, Mike.

Does IBM still have an "Assember H"? I see docs on their website for z/Architecture stuff that references "Assembler H".

What version of "H" was the MTS version built off of? Has anyone asked IBM if they'll release that version for public consumption?

Do they ever release anything?

Thanks for the info on TCP/IP. I know that there is a TLNT Manager:

- 00056 MTS 00059920 52 TLNT Manager HOST WMTS *TCM;

But when I run *LAS, it says "No Telnet connections available". So, I'll wait for "d7.0".

It would really be nice to get the Confer files, if someone could put them into an .AWS file. I'd be willing to try to get it working on d6.0. If I figure out how to get it working, I'll post notes here.
I saw that Bon Parnes gave permission for this. I imagine that it’s just the files on user CNFR plus some hooks into the accounting system for the surcharge stuff.

There aren't many of the old-timers still left. I think Tom Stevenson is still at WSU. We lost Lee Maschmeyer a few years ago (). He was a remarkable programmer who was blind from birth but still managed to master IBM assembler and worked at WSU for 43 years.

John

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Mike Alexander
Sent: Wednesday, June 7, 2023 00:11
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to support MTS and can those be ported to, say Assembler G?

There are a number of interesting questions here, I'll see what I can do to answer some of them.

Assembling parts of MTS with ASMG is not going to be easy, or even possible. There are other 370 assemblers that are closer to ASMH which might be a better starting point. There have been a number of discussions about this on various Hercules or MTS lists.

The ASMH in MTS is about three generations removed from ASMG. First you have the extensive changes to the language IBM made. Then there are a number of changes made at Stanford University. The MTS version is based on the Stanford version with more changes. The update files in MTS go from the IBM version through all these changes to the MTS version.
There are about 50 files containing well over 10,000 lines, probably at least twice that or more.. And tthe starting point (IBM ASMH) is only distantly related to ASMG.

There is a list of all the changes to the language between the IBM and MTS versions of ASMH in MTS Volume 14 on page 18. It contains 27 items over 7 pages. Some are trivial, but some aren't, for example number 19 describes forward references on ORG statements which are used in a number of macros in MTS.

The expression on an ORG statement can contain symbols not yet
defined in the program. There must be exactly one way in which the
locations counters can be assigned, i.e., the ORGs must be resolvable
and unambiguous.
Number 25 and 26 describe significant extensions to USING statements and the resolution of base/displacement values through them which are used extensively in MTS. These two points take up about 4 pages.

This section of Vol 14 only describes language changes, not other changes such as the PEXIT parameter which is used to improve the printed listing.

PISTLE is the Post IPL system loader. It loads code into shared VM during startup or later when run by a system programmer. It is not related to RAMROD. There is a command macro to invoke it somewhere, perhaps in MTS:CMDMACLIB. During startup it is invoked from *S2L.
Installing something loaded by PISTLE simply means copying the new object to whatever file *S2L loads it from.

PISTLE is related to the NAS loader which loads things into Named Address Spaces. NASes are preloaded segments of storage which can be attached to MTS tasks as required. For example ASMH is loaded into a NAS and *ASMH is a small driver program which attaches the NAX and calls it. I think these existed in D6, they are used extensively in the 1996 system.

D6 doesn't have working IP support, the Internet was pretty new in 1988.
As a side note it was sometime in 1989 that I put the first IP packets on an ethernet at the University of London, somewhat to the consternation of the local network support folks who thought that TCP/IP would swamp the ethernet and were surprised when it didn't The 1996 system has decent support for the Internet as it existed then (i.e. no encryption of any sort). This requires changes to Hercules which are almost done.

I hope this helps a bit.

Mike

On 5 Jun 2023, at 22:09, John Palmer wrote:

Just wondering what changes were made to Assembler-H to make it
support MTS and could those be ported to Assembler-G.

Are there any other assemblers that work on MTS that could be modified
easier?

I got a bunch of rates stuff assembled successfully with Assembler G
after modifying some of the macros. The final piece is RNBRSUB. I
wrote a local copy with my own billing classes, but it

Has a bunch of includes that I have to restore from the distribution
tapes. Not sure there are landmines in there.

Comments in RNBRSUB say it can be installed with Pistle, which I
assume is a way to hot-swap system components without an IPL. Is there
some documentation on this? To install it permanently, I assume I use
RAMROD.

On TCP/IP – are there any Telnet connections configured in the d6.0A
TABLES? If I use Mike Alexander’s current code, will I be able to
test out internet stuff with d6.0A?

Anxiously awaiting d7.0, especially Confer. ?


 

John,
In that case move the files to be assembled to an environment where Java exists.
Dave

And to answer some other questions, Assembler H is discontinued as a product. The current product is the "High Level Assembler" which I assume is delivered as object code only so you cannot modify it.
However, I believe it includes all the SLAC modifications:-



As far as I know IBM never released anything, other than APL/360 which I don't believe was ever a program product. It is released with draconian licence restrictions so you can't distribute a modified version.

Dave

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of John Palmer
Sent: Thursday, June 8, 2023 4:48 AM
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to support
MTS and can those be ported to, say Assembler G?

I don't think anyone ever ported Java to MTS.

It would be hard because the class layout in Java (i.e.
"com.abc.package1.package2.class") requires a directory structure and MTS is
"flat".

I know there was the beginning of a design to implement a hierarchical directory
system in MTS, but it never went anywhere.

One funny note about that subject is that there was a whole Confer item where
people debated endlessly about what the directory separator character should
be ( ":", "/", "\", etc).
More words were generated on that one point than on any other design aspect
?

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Dave Wade
Sent: Wednesday, June 7, 2023 15:27
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to support
MTS and can those be ported to, say Assembler G?

Mike,
Rather than mess with one of the assemblers running on the "Mainframe" would
it be easier to modify the Z390 assembler which is written in Java and runs on
any environment with java?



Dave

-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Mike
Alexander
Sent: Wednesday, June 7, 2023 6:11 AM
To: [email protected]
Subject: Re: [H390-MTS] What changes were made to Assembler H to
support MTS and can those be ported to, say Assembler G?

There are a number of interesting questions here, I'll see what I can
do to answer some of them.

Assembling parts of MTS with ASMG is not going to be easy, or even possible.
There are other 370 assemblers that are closer to ASMH which might be
a better starting point. There have been a number of discussions
about this on various Hercules or MTS lists.

The ASMH in MTS is about three generations removed from ASMG. First
you have the extensive changes to the language IBM made. Then there
are a number of changes made at Stanford University. The MTS version
is based on the Stanford version with more changes. The update files
in MTS go from the IBM version through all these changes to the MTS version.
There are about 50 files containing well over 10,000 lines, probably
at least twice that or more.. And tthe starting point (IBM ASMH) is
only distantly related to ASMG.

There is a list of all the changes to the language between the IBM and
MTS versions of ASMH in MTS Volume 14 on page 18. It contains 27
items over 7 pages. Some are trivial, but some aren't, for example
number 19 describes forward references on ORG statements which are
used in a number of macros in MTS.

The expression on an ORG statement can contain symbols not yet
defined in the program. There must be exactly one way in which the
locations counters can be assigned, i.e., the ORGs must be
resolvable and unambiguous.
Number 25 and 26 describe significant extensions to USING statements
and the resolution of base/displacement values through them which are
used extensively in MTS. These two points take up about 4 pages.

This section of Vol 14 only describes language changes, not other
changes such as the PEXIT parameter which is used to improve the printed
listing.

PISTLE is the Post IPL system loader. It loads code into shared VM
during startup or later when run by a system programmer. It is not
related to RAMROD. There is a command macro to invoke it somewhere,
perhaps in MTS:CMDMACLIB.
During startup it is invoked from *S2L.
Installing something loaded by PISTLE simply means copying the new
object to whatever file *S2L loads it from.

PISTLE is related to the NAS loader which loads things into Named
Address Spaces. NASes are preloaded segments of storage which can be
attached to MTS tasks as required. For example ASMH is loaded into a
NAS and *ASMH is a small driver program which attaches the NAX and
calls it. I think these existed in D6, they are used extensively in the 1996
system.

D6 doesn't have working IP support, the Internet was pretty new in 1988.
As a side note it was sometime in 1989 that I put the first IP
packets on an ethernet at the University of London, somewhat to the
consternation of the local network support folks who thought that
TCP/IP would swamp the ethernet and were surprised when it didn't The
1996 system has decent support for the Internet as it existed then
(i.e. no encryption of any sort). This requires changes to Hercules which are
almost done.

I hope this helps a bit.

Mike

On 5 Jun 2023, at 22:09, John Palmer wrote:

Just wondering what changes were made to Assembler-H to make it
support MTS and could those be ported to Assembler-G.

Are there any other assemblers that work on MTS that could be
modified easier?

I got a bunch of rates stuff assembled successfully with Assembler G
after modifying some of the macros. The final piece is RNBRSUB. I
wrote a local copy with my own billing classes, but it

Has a bunch of includes that I have to restore from the distribution
tapes. Not sure there are landmines in there.

Comments in RNBRSUB say it can be installed with Pistle, which I
assume is a way to hot-swap system components without an IPL. Is
there some documentation on this? To install it permanently, I
assume I use RAMROD.

On TCP/IP – are there any Telnet connections configured in the d6.0A
TABLES? If I use Mike Alexander’s current code, will I be able to
test out internet stuff with d6.0A?

Anxiously awaiting d7.0, especially Confer. ?