We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
Block Move Addressing: Difference between revisions
From SnesLab
(→References: hid archive URL for E&L) |
(→References: hid archive URL for E&L) |
||
Line 22: | Line 22: | ||
=== References === | === References === | ||
* [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/388 page 388] | * [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/388 page 388] | ||
* "Block Moves" on | * "Block Moves" on [https://archive.org/details/0893037893ProgrammingThe65816/page/103 page 103], lbid | ||
* section 3.5.9 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf | * section 3.5.9 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf | ||
Latest revision as of 21:53, 6 August 2024
Two instructions use Block Move Addressing on the 65c816:
They are both 3 bytes long. The total number of bytes copied is the value in the C accumulator plus one. If a block move is interrupted, the current byte copy is completed, then the interrupt is serviced.
When the copying is complete:
- the accumulator will contain the value $FFFF.
- both index registers will point to the byte one past the end of the blocks they were pointing to
- if the source and destination blocks do not overlap, the source block is still intact
Syntax
Asar:
MVN srds
See Also
References
- Eyes & Lichty, page 388
- "Block Moves" on page 103, lbid
- section 3.5.9 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf