87. MOVE Peripheral data

87.1. Name

MOVEP -- Move peripheral data

87.2. Synopsis

        MOVEP        Dx,(d,Ay)
        MOVEP        (d,Ay),Dx

        Size = (Word, Long)

87.3. Function

Transfer is made between a data register and alternate bytes of memory at the selected address which must be specified in indirect mode with a 16-bit displacement. This instruction is of use with 8 bits peripheral programming.

LEA        port0,A0         ; A0 -> $FFFFFFFFFFFFFFFF
MOVEQ      #0,D0
MOVEP.L    D0,(0,A0)        ; A0 -> $FF00FF00FF00FF00
MOVE.L     #$55554444,D0
MOVEP.L    D0,(1,A0)        ; A0 -> $FF55FF55FF44FF44

87.4. Format

        -----------------------------------------------------------------
        |15 |14 |13 |12 |11 |10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
        |---|---|---|---|-----------|-----------|---|---|---|-----------|
        | 0 | 0 | 0 | 0 |Dx REGISTER| OP-MODE   | 0 | 0 | 1 |Ay REGISTER|
        |---------------------------------------------------------------|
        |                        16 BITS OFFSET                         |
        -----------------------------------------------------------------

OP-MODE
        100->16 bits move, memory to register
        101->32 bits move, memory to register
        110->16 bits move, register to memory
        111->32 bits move, register to memory

REGISTER
        Dx register specifies the number of data register.
        Ay register specifies the number of address register which takes place
        in indirect addressing with displacement.

87.5. Result

        None.

87.6. See also

MOVEM