Arthur T. wrote:
On 2 Jul 2006 14:01:49 -0700, in bit.listserv.ibm-main
(Message-ID:<[EMAIL PROTECTED]>)
[EMAIL PROTECTED] wrote:
Would this new system be compatable with all existing programs that
now still run on z/OS? I think you have to have that. That's what
makes z/OS such a great platform. The program wrote 25 years ago
still runs today. Unless you maintain full compatability, you have
nothing. If you can't keep running all your old software, you may as
well go to windows or unix.
Right; so run un-convertable stuff as emulation in a 64-bit
address space; to get new system benefits you must recompile
at least, and often re-examine your code. New stuff is
golden, however.
An even bigger problem for compatibility would be the data files.
If the native coding of U/OS is to be UTF-16, I'd expect that all of the
files would also have to be UTF-16. None of the existing programs could
read them.
Assembler programs would be much more difficult to write without
some major additions of instructions. Think for instance, about MVC,
ED, and TRT. Or, do you mean to make a byte 16 bits? That would break
*everything*.
Data _could_ remain unchanged where needed; keep the existing
instruction set; would not _have_ to add any new ones. Bytes
remain at 8 bits. Look at all the new instructions already in
place for working with character and string data:
CLST - Compare Logical STring
CUSE - Compare Until Substring Equal
MVST - MoVe STring
SRST - SeaRch STring
MVCLE - MoVe Character Long Extended
CLCLE - Compare Logical Character Long Extended
TRE - TRanslate Extended
CUUTF - Convert Utf-16 to UTF-8
CUTFU - Convert UTF-8 to Utf-16
--- all of above introduced before 2000 ---
--- below are all included in latest zSeries machines --
PKA - PacK Ascii digit string
PKU - PacK Utf-16 digit string
UNPKA - UnPacK to Ascii digit string
UNPKU - UnPacK to Utf-16 digit string
MVIY - MoVe character Intermediate Y ("long displacement")
CLIY - Compare Logical Intermediate Y
CLMY - Compare Logical under Mask Y
TRTR - TRanslate and Test Reverse
CU21 - Convert Unicode 2 bytes to 1 (UTF-16 -> UTF-8)
-- above is same as CUUTF before --
CU12 - Convert Unicode 1 byte to 2 (UTF-8 -> UTF-16)
-- above is same as CUTFU before --
CLCLU - Compare Logical Characters Long Unicode
MVCLU - MoVe Character Long Unicode
TROO - TRanslate One byte to One byte
TROT - TRanslate One byte to Two bytes
TRTO - TRanslate Two bytes to One byte
TRTT - TRanslate Two bytes to Two bytes
CU24 - Convert Unicode 2 bytes to 4 bytes (UTF-16 -> UTF-32)
CU42 - Convert Unicode 4 bytes to 2 bytes (UTF-32 -> UTF-16)
CU41 - Convert Unicode 4 bytes to 1 byte (UTF-32 -> UTF-8)
CU14 - Convert Unicode 1 byte to 4 bytes (UTF-8 -> UTF-32)
SRSTU - SeaRch STring Unicode
(not to mention the store and load and rotate instructions)
Also, while storage is very cheap in comparison to what it used to
be, files would nearly double in size (as would memory requirements).
What would it cost do double your DASD farm and your memory?
While I can admire the idea of UTF-16 as a native encoding, I'm not
sure you can get there from here. I agree with Eric that if you can't
run your old programs, you wouldn't migrate to it; you'd run something
else that has a track record.
That's why I was proposing an emulation in a 2 GiB piece of a 64-bit
address space.
I don't know if it is doable or not.
Just wishful thinking.
Kind regards,
-Steve Comstock
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html