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

Reply via email to