65816 Addressing mode: Block Move Positive (forward) -- xyc
(MVP)
(3 bytes) (7 cycles)
+---------------+------------------+-----------------------+----------+
| Cycle | Address Bus | Data Bus |Read/Write|
+---------------+------------------+-----------------------+----------+
| +- 1 | PBR,PC | Op Code | R |
| | 2 | PBR,PC+1 | Dest. Bank Address | R |
| | 3 | PBR,PC+2 | Source Bank Address | R |
| N-2 | 4 | SBA,X | Source Data | R |
| Byte | 5 | DBA,Y | Dest Data | W |
| C=2 | 6 | DBA,Y | Internal Operation | R |
| +- 7 | DBA,Y | Internal Operation | R |
| +- 1 | PBR,PC | Op Code | R |
| | 2 | PBR,PC+1 | Dest. Bank Address | R |
| N-1 | 3 | PBR,PC+2 | Source Bank Address | R |
| Byte | 4 | SBA,X-1 | Source Data | R |
| C=1 | 5 | DBA,Y-1 | Dest Data | W |
| | 6 | DBA,Y-1 | Internal Operation | R |
| +- 7 | DBA,Y-1 | Internal Operation | R |
| +- 1 | PBR,PC | Op Code | R |
| | 2 | PBR,PC+1 | Dest. Bank Address | R |
| N Byte | 3 | PBR,PC+2 | Source Bank Address | R |
| Last | 4 | SBA,X-2 | Source Data | R |
| C=0 | 5 | DBA,Y-2 | Dest Data | W |
| | 6 | DBA,Y-2 | Internal Operation | R |
| | 7 | DBA,Y-2 | Internal Operation | R |
| +- 1 | PBR,PC+3 | New Op Code | R |
+---------------+------------------+-----------------------+----------+
See also: Abbreviations
x = Source Address
y = Destination
c = Number of Bytes to move -1
x,y Decrement
MVP is used when the destination start address is higher (more positive)
than the source start address.
FFFFFF
^ Dest Start
| Source Start
| Dest End
| Source End
000000