November 09, 2018
19
3.5.9 Block Move-xyc
Block Move (xyc) addressing is used by the Block Move instructions. The second byte of the instruction
contains the high-order 8 bits of the destination address and the Y Index Register contains the low-
order 16 bits of the destination address. The third byte of the instruction contains the high-order 8 bits
of the source address and the X Index Register contains the low-order bits of the source address. The
C Accumulator contains one less than the number of bytes to move. The second byte of the block
move instructions is also loaded into the Data Bank Register.
Instruction:
Opcode
dstbnk
srcbnk
Source Address:
srcbnk
X Reg
Dest. Address:
dstbnk
Y Reg
Increment X and Y (MVN) or decrement X and Y (MVP) and decrement C (if greater than zero), then
PC=PC+3.
3.5.10 Direct Indexed Indirect-(d,x)
Direct Indexed Indirect ((d,x)) addressing is often referred to as Indirect X addressing. The second byte
of the instruction is added to the sum of the Direct Register and the X Index Register. The result points
to the X low-order 16 bits of the effective address. The Data Bank Register contains the high-order 8
bits of the effective address.
Instruction:
Opcode
offset
Direct Register
+
offset
direct address
+
X Reg
00
(address)
then: +
DBR
Operand Address:
effective address