Discussion:
[hercules-390] Why do w have a MOVE INVERS facility?
'\'Fish\' (David B. Trout)' david.b.trout@gmail.com [hercules-390]
2017-12-09 15:55:26 UTC
Permalink
Another question for the developers (or anyone else dabbling in Hercules development):

In the Hercules-specific area (at the end) of the archlvl.c FACTAB facilities table there exists an entry for the "MOVE_INVERSE" facility (it's the first entry in that part of the table as a matter of fact) designating the facility as being support and enabled for all architectures and level sets.

The move_inverse instruction function itself in general1.c even contains a FACILITY_CHECK statement for it (which throws an Operation Exception if the specified facility isn't enabled).

YET, the System/370, S370/XA, S370/ESA, ESA/390 and z/Architecture Principles of Operations manuals (i.e. every Principles of Operation manual I could find) *ALL* document the MOVE INVERSE (MVCIN) General Purpose instruction (and even provide usage examples in each of their Appendix A).

Why the heck is such a Hercules-specific/unique facility defined?! It makes no sense!

Can anyone shed any light on this?

Thanks.
--
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: ***@softdevlabs.com
john.watson-gnosis@btinternet.com [hercules-390]
2017-12-10 09:04:28 UTC
Permalink
The MVCIN instruction was introduced ~1980 for the 4381 processor only. We had one at Cray Research. Not much point using it (at the time) if you're building portable software, or considering an upgrade
Gerhard Postpischil gerhardp@charter.net [hercules-390]
2017-12-10 09:18:55 UTC
Permalink
Post by john.watson-***@btinternet.com [hercules-390]
The MVCIN instruction was introduced ~1980 for the 4381 processor only.
We had one at Cray Research. Not much point using it (at the time) if
you're building portable software, or considering an upgrade
I was under the impression that it was also available on the 4341 (but
not the 4331). IBM added it in response to users of right-to-left
languages (e.g., formatting screens for 3270s).


Gerhard Postpischil
Bradford, VT

---
This email has been checked for viruses by AVG.
http://www.avg.com
Mike Schwab Mike.A.Schwab@gmail.com [hercules-390]
2017-12-10 18:24:01 UTC
Permalink
Did IBM ever introduce instructions to store little endian numbers so
packed files could be sent to PCs? I know they now have UTF specific
instructions.

On Sun, Dec 10, 2017 at 3:18 AM, Gerhard Postpischil
Post by Gerhard Postpischil ***@charter.net [hercules-390]
Post by john.watson-***@btinternet.com [hercules-390]
The MVCIN instruction was introduced ~1980 for the 4381 processor only.
We had one at Cray Research. Not much point using it (at the time) if
you're building portable software, or considering an upgrade
I was under the impression that it was also available on the 4341 (but
not the 4331). IBM added it in response to users of right-to-left
languages (e.g., formatting screens for 3270s).
Gerhard Postpischil
Bradford, VT
---
This email has been checked for viruses by AVG.
http://www.avg.com
------------------------------------
------------------------------------
http://groups.yahoo.com/group/hercules-390
http://www.hercules-390.org
------------------------------------
Yahoo Groups Links
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
Martin Truebner Martin@pi-sysprog.de [hercules-390]
2017-12-10 21:33:28 UTC
Permalink
Post by Mike Schwab ***@gmail.com [hercules-390]
Did IBM ever introduce instructions to store little endian numbers so
packed files could be sent to PCs? I know they now have UTF specific
instructions.

Yes they did- there are three instructions where the R could have been
used- but for obvious reasons they used RV for reverse

STRVH
STRV
STRVG

And they do exactly what you wanted.

Martin
Laddie Hanus laddiehanus@yahoo.com [hercules-390]
2017-12-10 23:16:05 UTC
Permalink
Post by Mike Schwab ***@gmail.com [hercules-390]
Did IBM ever introduce instructions to store little endian numbers so
packed files could be sent to PCs? I know they now have UTF specific
instructions.
Yes they did- there are three instructions where the R could have been
used- but for obvious reasons they used RV for reverse
STRVH
STRV
STRVG
And they do exactly what you wanted.
Martin
------------------------------------------------------------------------
------------------------------------------------------------------------
They are in the original z/arch PrincOps dated Dec 2000 and in the -7
revision of the ESA PrincOps where some instructions were backported to ESA

Laddie

gah@ugcs.caltech.edu [hercules-390]
2017-12-10 20:37:43 UTC
Permalink
As I understand it, MVCIN was originally RPQ, then added as an optional feature, and maybe finally not optional. Also, as I understand it, it was originally used in countries doing Hebrew text processing, and presumably other languages that write right to left. Do note that the Priniciples of Operation do not guarantee an operation exception on any undocumented opcode, other than (almost) X'00'.
'Dan @ Poodles' poodles511@sbcglobal.net [hercules-390]
2017-12-10 22:40:24 UTC
Permalink
Back in the day, we were doing some communications analysis for a major credit card processing company. This was when telecommunications speeds were slow and the costs were high. We were going over their data compression/decompression routines and after some analysis we discovered that when certain data fields were flipped front to back, the compressions routines cut the overall data stream sizes by more than 10% on average. This resulted in shorter data streams which translated to significant cost savings and throughput increases. The new compression routines used the MVCIN instruction to flip these fields prior to compression while the decompression routines used the MVCIN instruction to reverse the process to put the fields back into their original order. The MVCIN instruction was gold, literally.



From: hercules-***@yahoogroups.com [mailto:hercules-***@yahoogroups.com]
Sent: Sunday, December 10, 2017 2:38 PM
To: hercules-***@yahoogroups.com
Subject: Re: [hercules-390] Re: Why do w have a MOVE INVERS facility?





As I understand it, MVCIN was originally RPQ, then added as an optional feature, and maybe finally not optional. Also, as I understand it, it was originally used in countries doing Hebrew text processing, and presumably other languages that write right to left. Do note that the Priniciples of Operation do not guarantee an operation exception on any undocumented opcode, other than (almost) X'00'.
Loading...