How did the Motorola 68000 handle instructions on 32-bit data?
The 68000 processor has a rather orthogonal and powerful instruction set with core instructions supporting different addressing modes (direct to/from register, indirect with address register with and without index etc.) and working on either 8, 16 or 32 bit of data. Address calculations of the addressing modes are always 32 bit.

The data bus of 16 bit is only relevant when external memory is read or written. The data sheet contains a lot of information about how many reads and writes occur given an instruction and its address mode.

A simplified view is:


16 bit reads and writes are easy as they directly match the data bus width.
32 bit reads and writes require two reads / two writes on the bus. The data sheet doesn't say in which order they occur.
For 8 bit reads and writes, the processor indicates on a pin if the upper or lower byte should be read.


When multiple reads are required, the instruction is not executed until all the reads have completed. So from a programmer's view, you don't ever see that the bus is only 16 bit (or 8 bit for the 68008). The programming model is simple and consistent. The same goes for writes and 8 bit operations.