A data processor including a central processing unit and a data transfer
control unit is disclosed. The data transfer control unit has an address
register for storing a transfer address. The data transfer control unit
transfers data according to a transfer unit size selected from a
plurality of transfer unit sizes. If the address register contains an odd
address as an initial value, the data transfer control unit transfers
data according to a different transfer unit size that is smaller than the
selected transfer unit size. If the data transfer control unit determines
that a remaining quantity of data to be transferred is smaller than the
selected transfer unit size, the selected transfer unit size is switched
to a smaller transfer unit size selected from the plurality of transfer
unit sizes.