# Data bus access in Intel 8086

I wonder how a multi-bytes instruction is executed when there is only 16-bit data bus? Assume the instruction is MOV AX,[10H]. The machine code of this instruction is 3 bytes. By combining the CS:IP registers, a 20-bit address is generated and there three bytes (which represents the machine code of that instruction) is accessed.

                 |           |
CS:IP -> +-----------+
|    A0     |
+-----------+
|    10     |
+-----------+
|    00     |
+-----------+
|           |


As you can see, we have to put A01000 on the data bus.

• I'm guessing it needs multiple cycles to fetch the whole instruction (if I'm understanding your question correctly). Oct 1 '15 at 12:18