On Thu, Oct 15, 2015 at 7:30 AM, Robin Vowels <robi...@dodo.com.au> wrote:
> From: "Jon Perryman" <jperr...@pacbell.net> > Sent: Thursday, November 21, 2013 1:24 PM > > > Rather than moving the data to the 8 byte work field, you could calculate >> the length you want to move and then move it. >> LA R3,5 Counter for EX >> MOVE MVC WORKAREA(0),0(R9) Move instruction for execute >> EX R3,MOVE Move 5 bytes >> > > Well, actually, it moves 6 bytes. > I've sometimes thought that it would have been better if the length field in the MVC was actually the number of bytes to move. Which would make a length of zero essentially be a "no-op". But would be more intuitive. And make it easier to put the EX'd MVC "in line". It would also save code and a branch if the true length actually was zero. I'm sure that there was originally some hardware reason to move one more byte than the number in the MVC. Surely the ability to move [0..255] is not really significantly less useful than the ability to move [1..256]. I would ask Dr. Amdahl, but I don't have his email address handy. [grin/] -- Schrodinger's backup: The condition of any backup is unknown until a restore is attempted. Yoda of Borg, we are. Futile, resistance is, yes. Assimilated, you will be. He's about as useful as a wax frying pan. 10 to the 12th power microphones = 1 Megaphone Maranatha! <>< John McKown