Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!jarthur!nntp-server.caltech.edu!toddpw From: toddpw@nntp-server.caltech.edu (Todd P. Whitesel) Newsgroups: comp.sys.apple2 Subject: Re: sideaffect of MVN/MVP instruction Message-ID: <1991May30.025443.428@nntp-server.caltech.edu> Date: 30 May 91 02:54:43 GMT References: <3644@kluge.fiu.edu> Organization: California Institute of Technology, Pasadena Lines: 23 acmfiu@serss0.fiu.edu (ACMFIU) writes: >someone want to explain to me why the MVN/MVP instructions don't restore >the data bank register? (yes, i'm moving data in different banks). Because. No explanation was given in the 65816 data sheet, although I suppose it could be argued that the data bank is set to the destination data so you can use absolute addressing on it right away... I think the real reason is that there only one temporary bank latch, so the other one ended up being the data bank register. What's stupid is that there "should" be a way to do it without modifying the data bank register. It has been speculated that the MVP/MVN instructions were originally different and somewhat useless instructions, and that Mensch hacked in the move code at the last minute -- this would easily explain the 7 cycle/byte timing (the instruction is fetched repeatedly for each byte copied -- blech!) and the side effects. Besides, it took them long enough to get the original 65816 ready (the GS ROM 00 was tested with 65802's because they were all that was available -- evidence of this is buried in the softswitch list in the firmware ref). Todd Whitesel toddpw @ tybalt.caltech.edu