Bshirk@aptuscontrols is wrong.
The PLC-5 does not copy backwards.
Perhaps his PLC-5 code was copying blocks to different F registers (F21 - F27) using indirect addressing, and instead of using a 2D array to duplicate what he has, he created a 1D array, and didn't understand why it didn't work.
We won't know unless he posts the PLC-5 code. It's likely that what he REALLY wants to do is create a UDT to hold a mixture of historical data, but he's not there yet.
As I said, the PLC-5 COP instruction is using its built-in Index control logic under the hood in order perform the copy. It's not going to analyze the instruction to check for overlapping register addresses. That takes time and programming memory, and back then, both were precious. 20 years ago, the "poor man's FIFO" was a "cool new trick" on this forum (well, the old, old forum -- the original PLCs.net not PLCTalk.net), and people would get it wrong and accidently do it backwards and get a Fill result. It's likely that the firmware coders never thought about the creative ways that could be used; it was just a FOR-NEXT loop, with no option of 'BY -1').
I've experienced several times when I was trying to make software do something for which it wasn't intended. I'd call up the vendor (back when all software had free tech support) and ask, they'd be stumped. A few days later, I'd call them back with some trick that I discovered to make it do what I wanted.
And that's what this forum is all about.