This group is for all folks running the original IBM VM/370 Release 6 operating system (or later (e.g. VMTCE (Community Edition)) on Hercules. Like the other early IBM operating systems this version has always been in the public domain and so can be freely distributed. The base version as supplied by IBM is lacking in many facilities. IBM solved this by providing additional extension products which were licensed and so are not available. There are however many user enhancements available which can be installed. In addition, in order to get users up and running quickly updated "releases" of VM/370 included the most popular updates are available for download, so novices can start to learn VM without having to delve into the system internals. It is intended that this wiki will provide information on the base release and these updates.
The available versions are here :-
?
?
Re: memset help
Is that part of the performance issue? I mean indirectly, of course. I don't really know the 370 architecture but I have come across a similar move instruction, LDIR on the Z80 that is rather slow.
By
Steven Fosdick
·
#981
·
|
Re: memset help
Translate - like the rexx function but then in assembler. Anecdote: I once got a performance problem on my desk. It did a character translation, in C. It looped through a string, and replaced
By
[email protected]
·
#980
·
|
Re: memset help
Now that sounds like a challenge! Let's see what we get with GCCLIB IO improvements. I will make sure my test lines are at least 100 characters long :-)
By
adriansutherland67
·
#979
·
|
Re: memset help
? Anyway I am biased ... as it takes me about 5 mins to write a single line of S/370 assembler not counting debugging!
By
adriansutherland67
·
#978
·
|
Re: memset help
Peter, When I first started work, I worked in small insurance UK insurance company. We had a Honeywell H3200, which basically ran IBM1401 code, but with "Improved io". We had one small program that
By
Dave Wade
·
#977
·
|
Re: memset help
It was for a long time already that compilers made faster code because the human coders kept on choosing storage-to-storage instructions where the register based versions were faster. But in cases
By
[email protected]
·
#976
·
|
Re: memset help
All interesting ... and I will try out each candidate and report back. It will be tested only on Hercules so in one sense not a fair test. On the other hand we could argue that that Hercules is S/370
By
adriansutherland67
·
#975
·
|
Re: memset help
I wonder could this have been the COBOL compiler abusing MVCL instructions in situations where they were not the appropriate instructions to use? Perhaps instructions such as MVCL would be expected to
By
Peter Coghlan
·
#974
·
|
Re: memset help
Dave, I'm acutely aware of that IBM advice, but in the last two decades I have also been involved in multiple rounds of "MIPS-saving" projects when management wanted application teams to "do more with
By
pjfarley3
·
#973
·
|
Re: memset help
Peter, I tend not to worry about performance, but any way I believe that IBM current advice is don't try and instruction timings disappeared from the manuals yonks ago. For example early 9370 were
By
Dave Wade
·
#972
·
|
Re: memset help
Because I did not remember that MVCL was available at the 370 architecture level (and failed to go look it up) and because MVCL has mostly been quite slow at the real-iron hardware level. Of course,
By
pjfarley3
·
#971
·
|
Re: memset help
The other thing to remember about mvcl is that it is interruptible. Ren¨¦.
By
[email protected]
·
#970
·
|
Re: memset help
Adrian, Like so many things, it depended on how it was used.? MVCL was probably used more to clear storage or fill it with some character way more often than to actually move data from A to B.? The
By
Bob Polmanter
·
#969
·
|
Re: memset help
It is true that the performance will be measured on Hercules. So is MVCL really that bad on real hardware? A
By
adriansutherland67
·
#968
·
|
Re: memset help
On Tue, 2020-04-14 at 08:32 +0100, Peter Coghlan wrote: > > > > As an academic exercise, two assembler alternatives attached as > text files. > > > >? > > > > MEMSET.txt uses STC/MVC to set 256 bytes
By
Harold Grovesteen
·
#967
·
|
Re: GCCLIB - Double Branch on calls to RESLIB library - needed?
LA R15,0(R15) would add 0 to the value of R15. I dont think thats what you want. Joe adrian@...> wrote:
By
Joe Monk
·
#966
·
|
GCCLIB - Double Branch on calls to RESLIB library - needed?
At the moment the stubs (linked to the client program) look like this: EXTRN GCCANCHR VFPRINTF CSECT USING VFPRINTF,R15 L? ? ?R15,=V(GCCANCHR) get anchor ptr L? ? ?R15,0(R15)? ? ? ?get the
By
adriansutherland67
·
#965
·
|
Re: memset help
Why don't you suggest using an MVCL instruction?
By
Peter Coghlan
·
#964
·
|
Re: memset help
Thanks Peter ... I will light up both and provide relative performance stats. Also (and this shows how much stuff is just there in the public domain) have a look at this.
By
adriansutherland67
·
#963
·
|
Re: memset help
As an academic exercise, two assembler alternatives attached as text files. MEMSET.txt uses STC/MVC to set 256 bytes at a time and then STC and variable-length MVC to set the remainder less than 256
By
pjfarley3
·
#962
·
|