This is question is prompted by reading an old (last October) post from steve-myers. He had been researching the actual operation of a packed -0 (minus zero).
This lead to me googling for a POP manual. On the way (I never actually got to the packed instructions) I looked at my old friend MVCL.
Now, a common Cobol Caution (sorry to mention that name in here ) that we used to get was "An MVCL has been generated for an item in the File or Linkage Section. The move will not be performed if it overlaps destructively".
Now, in the POP I looked at, it seems to say that MVCL cannot overlap at all. It says that the "initialisation" that you can do using MVC (set the first byte to the character to initialise to, then do the MVC offset by one byte, and as if by magic the whole field is set to the same amount) cannot be done with MVCL. Now in Cobol (sorry again) I used to do this all the time to initialise arrays without have to do the looping. And I'm sure that most of the tables I did it with were longer than 256 bytes. I'm sure it did the initialisation, as no abends. I'm sure (fairly, anyway) that the compiler didn't "spot" what I was doing and put a load of MVC's together to do it. I did this lots and lots.
So, has something changed? Or is the POP not quite clear? Does Cobol (maybe the wrong place to ask ) still give the same Caution?